2016-03-21 18 views
-1

私はPython 2.7を使用しており、matplotlibライブラリを使用して時系列を描画する必要があります。私のy軸のデータは数値で、すべてが正常です。Python 2.7時系列非数値

問題は私のx数値ではない軸データであり、この場合はmatplotlibは協力しません。 xの軸データは、指定された順序で配列されており、その順序は論理的に何の影響も与えないので、プロットの正確さに影響を与えないと考えていますが、私は時系列を描画しません。

例えば、xのデータが["i","like","python"]で、yの軸のデータが[1,2,3]であるとします。

コードが正常であることがわかったのでコードを追加しませんでした。データをすべての数値データに変更すると機能します。

の値を数字のものに変換せずに、matplotlibを使って時系列を描くにはどうすればいいのか説明してください。

私のmatplotlibコードは以下の回答に基づいています:How to plot Time Series using matplotlib PythonTime Series Plot Python

答えて

2

Matplotlibは、それらのラベルをいくらか配置する必要があります。次の例を参照してください:

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() 

、この中に結果こと:

enter image description here

私はそこにラベルをつけたが、彼らがすることになっている場所を何とか言って持っていたかに注意してください。

また、他の人が提案しやすいようにコードの一部を入れてください。

+0

yが1,2,3であったためplt.plot(y、y)を書いたときは、それ以外の場合は使用しませんか? – thebeancounter

+1

私は便宜のためにそれをしました。あなたはxt = [1,2,3]を使うことができましたが、yは既にそこにありました。それらのラベルがどこにある必要があるかを言う方法が必要です。 – armatita