2016-08-16 9 views
2

私はデータフレームdf_no_missingのプロットをしています。matplotlibを使ったプロットのxaxis範囲値を変更する

df_no_missing.head() 
TIMESTAMP  datetime64[ns] 
P_ACT_KW    float64 
PERIODE_TARIF   object 
P_SOUSCR    float64 
SITE      object 
TARIF     object 
depassement    float64 
dtype: object 


Out[236]: 

    TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE TARIF depassement date time 

    2015-08-01 23:10:00 248.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:10:00 


    2015-08-01 23:20:00 244.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:20:00 


    2015-08-01 23:30:00 243.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:30:00 


    2015-08-01 23:40:00 238.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:40:00 

    2015-08-01 23:50:00 234.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:50:00 

TIMESTAMPを使用してP_ACT_KWとP_SOUSCRの変化を表すプロットを作成しました。私はこのようなプロット(添付画像)を取得

fig = plt.figure(figsize=(11, 6), dpi=100) 
ax = fig.add_subplot(111) 
yearFmt = mdates.DateFormatter("%H:%M:%S") 

ax.xaxis.set_major_formatter(yearFmt) 
sns.set_style("darkgrid") 
x = pd.to_datetime(df_no_missing.TIMESTAMP, format="%h:%m") 
y = df_no_missing.P_ACT_KW 
z = df_no_missing.P_SOUSCR 
plt.plot(x, y, marker='o', label='P_SOUSCR') 
plt.plot(x, z, marker='o', linestyle='--', color='g', label='P_ACT_KW') 
plt.xlabel('temps') 
plt.ylabel('puissance') 
plt.title('variation de la puissance') 
plt.legend() 
plt.show() 

enter image description here

私の質問は、私はx軸にタイムスタンプを表示することができ、私は私が見る必要があるわけ方法です: Pythonのコードは以下の通りです23:10:00、23:20:00、23:30:00、23:40:00、23:50:00のデータフレームに示されているタイムスタンプ。あなたは私が

カテゴリーで探す

+0

プロットするライブラリに、軸のラベルのリストを使用するよう指示することができます。ポイントプロットのドキュメントを参照してください:https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.pointplot.html#seaborn。ポイントプロット。これはxaxisを設定するこの 'order'パラメータを持っています。あなたはそれを試すことができます。 –

+0

@Dr。 Nefario、あなたの返事をありがとう、私はこの行にここで注文オプションを追加しますか? plt.plot(x、y、marker = 'o'、label = 'P_SOUSCR') – Poisson

+0

ええ、それを試してみてください。私はそれがうまくいきたい –

答えて

0

あなたが追加することができます助けることができる場合

はありがとうとない午前1時、4時、7時... set_major_locator set_major_formatter前:通常

import matplotlib.dates as mdates 

yearFmt = mdates.DateFormatter("%H:%M:%S") 

minx = pd.to_datetime('2015-08-01 23:10:00') 
minx = pd.to_datetime('2015-08-01 23:50:00') 

ax.set_xlim([ minx, maxx ]) 
ax.xaxis.set_major_locator(mdates.MinuteLocator(byminute=range(0,60,10))) 
ax.xaxis.set_major_formatter(yearFmt) 
+0

ax.xaxis.set_major_locator(mdates.MinuteLocator()の前にax.set_xlim(['23:10:00 '、'23:50:00']) byminute = range(0,60,10)))、それは動作しません – Poisson

+0

どのデータ型が ''23:10:00''と' '23:50:00''ですか? – Luis

+0

TIMESTAMP 149 non-null datetime64 [ns] – Poisson

関連する問題