2017-11-23 19 views
0

私のCSVデータファイルからグラフを作成しようとしています。私のコードは次の通りである:python matplotlibを使ってx軸にラベルを付ける方法

for name in per_data.dtype.names[2:]: 
    plt.plot(per_data['RELEASE'],per_data[name],label=name) 
    plt.legend(loc='upper left',prop = {'size':7},bbox_to_anchor=(1,1)) 
    plt.tight_layout(pad=5) 
    plt.xlabel ('Release') 
    plt.ylabel ('Time/Sec') 
    plt.title ('Ingest Performance Test') 
    plt.grid() 
    plt.show() 

enter image description here

私のCSVデータは次のとおりです。

DATE RELEASE 10GB 100GB 200GB 400GB 600GB 800GB 1000GB 
5/5/16 2.67 0.36 4.18 8.54 18  27  38  46 
5/5/16 2.68 0.5  4.24 9.24 18  27  37  46 
5/6/16 2.69 0.32 4.3  9.18 19  29  37  46 
5/6/16 2.7  0.35 4.3  9.3  19  28  37  46 
5/6/16 2.71 0.3  4.18 8.18 16  24  33  41 

あなたは、私が2列使用しています、見ることができるように - 私のx軸のラベルとしてRELEASEを。問題は次のとおりです。実際のリリース番号は2.67,2.68,2.69,2.70,2.71 ですが、グラフでは余分なポイント(2.65,2.75,2.85,2.95,2.705)が追加されています。 x軸のラベルにリリース番号が反映されるように設定するにはどうすればよいですか?

答えて

1

のようにplt.xticks()を使用する必要があります。 x軸に使用するティックとラベルを制御します。あなたの例では

、あなたは以下に示すように、別の行を追加する必要があります:助けるため

for name in per_data.dtype.names[2:]: 
    plt.plot(per_data['RELEASE'],per_data[name],label=name) 
    plt.legend(loc='upper left',prop = {'size':7},bbox_to_anchor=(1,1)) 
    plt.tight_layout(pad=5) 
    plt.xlabel ('Release') 
    plt.xticks (per_data['RELEASE']) 
    plt.ylabel ('Time/Sec') 
    plt.title ('Ingest Performance Test') 
    plt.grid() 
    plt.show() 
+0

本当にありがとうございました。それは美しく動作します。 –

+0

ようこそ。満足している場合は、左の目盛りをクリックして回答を受け入れてください。 –

関連する問題