2016-07-13 6 views
0

グラフ/キャンバスの一部とPNG画像の外にある部分を避けるために、私のコードには何も分かりません。あまりにも多くの隙間を使わないように、日付を180度または垂直に書くことは可能ですか?Pandasとmatplotlibが線形グラフをしています

私のデータセットは次のとおりです。

15/03/16 3000 300 200 
12/04/16 3000 300 300 
10/05/16 500 500 400 
12/06/16 1000 600 500 
14/07/16 1250 300 500 
21/07/16 2000 300 50 
15/08/16 3000 300 200 
12/09/16 3000 300 300 
10/10/16 500 500 400 
12/11/16 1000 600 500 
15/11/16 1250 300 500 
21/12/16 1000 500 50 

Pythonのコードは次のとおりです。

import pandas 
import matplotlib.pyplot as plt 

df = pandas.read_csv('data.csv', delimiter=';', 
        index_col=0, 
        parse_dates=[0], dayfirst=True, 
        names=['date','a','b','c']) 
df.plot() 
df.plot(subplots=True, figsize=(6, 6)) 

plt.savefig('sampledata1.png') 

およびPNGは(欠損データ)のようになります。

enter image description here

ありがとうございました!

答えて

0

データはそこにあり、プロットの端にプロットされています。

df.plot(ylim=(0,3500)) 
df.plot(subplots=True, figsize=(6, 6), ylim=(0,3500)) 

各プロットごとにyリミットを変更するには、曲線を個別にプロットする必要があります。個別にそれを行うには

、私は一般的に、この(無数の方法があり、それを行ういる)ような何か:

fig, axes = plt.subplots(3,1) 
axes[0].set_ylim([df.a.min()*0.9, df.a.max()*1.1]) 
axes[0].set_xticklabels([]) 
axes[1].set_ylim([df.b.min()*0.9, df.b.max()*1.1]) 
axes[1].set_xticklabels([]) 
axes[2].set_ylim([df.c.min()*0.9, df.c.max()*1.1]) 
axes[0].plot(df.a) 
axes[1].plot(df.b) 
axes[2].plot(df.c) 

jupyter screenshot

軸ラベルを読めるように調整することができる、など - checkout matplotlib.orgに多くの例があります。

+0

あなたの答えに感謝します。だから私はどのようにプロットごとに個別にそれを行うことができますか?再度、感謝します。 – Gonzalo

関連する問題