2016-03-21 26 views
-1

Python 2.7 kullanıyorum ve matplotlib kütüphanesi kullanarak bir zaman dizisi çizmem gerekiyor. Benim y eksen verisi sayısal ve her şey onunla tamam.Python 2.7 zaman serisi sayısal olmayan değerler

Sorun, sayısal olmayan x eksen verilerimdir ve matplotlib bu durumda birlikte çalışmaz. x eksen verisi, verilen bir düzen tarafından düzenlendiği için ve siparişin mantıksal olarak herhangi bir şeyi etkilememesi nedeniyle, arsanın doğruluğunu etkilememesi gerektiği halde bana bir zaman serisi çizmiyor.

Örneğin en x veri ["i","like","python"] ve y eksen veri [1,2,3] olduğunu varsayalım.

Kodumu eklemedim çünkü kodun tamam olduğunu buldum, verileri tüm sayısal verilere değiştirirsem çalışır.

Lütfen matplotlib'in zaman serilerini çizmek için, x değerlerini sayısal öğelere dönüştürmeme neden olmadan nasıl kullanabileceğimi açıklayın.

Matplotlib kodumu şu yanıtlara göre oluşturdum: How to plot Time Series using matplotlib Python, Time Series Plot Python.

cevap

2

Matplotlib bu etiketlerin konumlandırılmasını gerektirir. Aşağıdaki örneğe bakın:,

import matplotlib.pyplot as plt 

x = ["i","like","python"] 
y = [1,2,3] 

plt.plot(y,y) # y,y because both are numeric (you could create an xt = [1,2,3] 
plt.xticks(y,x) # same here, the second argument are the labels. 
plt.show() 

bu sonuçları: Orada etiketleri koymak ama onlar gerekiyordu nereye şekilde söylemek yaşadım nasıl

enter image description here

dikkat edin.

Ayrıca, diğer kişilerin önerebileceği şekilde kodunuzun bir kısmını da eklemelisiniz.

+0

plt.plot (y, y) yazarken bunu yaptınız çünkü y 1,2,3'tü? başka bir durumda onu kullanmazdınız? – thebeancounter

+1

Kolaylık için yaptım. xt = [1,2,3] kullanabilirsiniz ama y zaten oradaydı. Bu etiketlerin nerede olması gerektiğini söylemenin bir yoluna ihtiyacın var. – armatita