2017-05-11 5 views
1

私は比較的新しいプログラミングと新しいここにいるので、私に簡単に行く。私はPythonの中で、毎週の収入、特定の支店の週ごとの「停止」(配送)、そして「ピース」(パッケージ)を返すクエリを持っています。私はSeabornを使って、それぞれのプロットを隣り合わせて表示する図形を印刷したいが、プロットを編集できるようにしたい。たとえば、Y軸を「平均(Revenue)」ではなく「Revenue」と読み替える方法を理解することはできません。ストップやピースにも同じ。個々の軸で何かを変更しようとしても動作しないようです。また、図にタイトルを追加するにはどうすればよいですか?私は試しましたが、それは私のコードを無視するようです。あなたが提供することができます任意の助けシーボーンの図の軸を変更

customer_rev_df = pd.DataFrame(customer_rev, columns='Week Revenue Pieces Stops'.split()).tail(weeks) 
    print(customer_rev_df.set_index('Week')) 
    sns.set_style(style='whitegrid') 
    fig, axs = plt.subplots(ncols=3, figsize=(16, 6)) 
    ax1 = sns.factorplot(x='Week', y='Revenue', data=customer_rev_df, ax=axs[0]) 
    ax2 = sns.factorplot(x='Week', y='Stops', data=customer_rev_df, ax=axs[1]) 
    ax3 = sns.factorplot(x='Week', y='Pieces', data=customer_rev_df, ax=axs[2]) 
    fig.show() 

Graph as it currently looks

ありがとう:

はここのコードと、それは現在戻っているものの画像をご覧ください!

+0

提案をいただきありがとうございますが、それでも動作しません。それはちょうどそのコードを無視し、数字をまったく同じように印刷するようです。平均(収入)、平均(収入)、平均(収入)を表示します。他のアイデア? また、タイトルを取得するための任意の提案ですか? – Emac

答えて

3

あなたは、いくつかのサンプルコードについてax.set_ylabel()

を使用して、各プロットの異なるラベルを指定することができます:あなたのコードの場合

df = pd.DataFrame({'A':range(0,5), 'B':range(0,5), 'C':range(0,5)}) 
sns.set_style(style='whitegrid') 
fig, axs = plt.subplots(ncols=3) 
ax1 = axs[0].plot(df.A.values) 
ax2 = axs[1].plot(df.B.values) 
ax3 = axs[2].plot(df.C.values) 

axs[0].set_ylabel('Revenue') 
axs[1].set_ylabel('Stops') 
axs[2].set_ylabel('Pieces') 

axs[0].set_title('Revenue') 
axs[1].set_title('Stops') 
axs[2].set_title('Pieces') 

fig.show() 

enter image description here

を、あなたが必要になります。

customer_rev_df = pd.DataFrame(customer_rev, columns='Week Revenue Pieces Stops'.split()).tail(weeks) 
print(customer_rev_df.set_index('Week')) 
sns.set_style(style='whitegrid') 
fig, axs = plt.subplots(ncols=3, figsize=(16, 6)) 
ax1 = sns.factorplot(x='Week', y='Revenue', data=customer_rev_df, ax=axs[0]) 
ax2 = sns.factorplot(x='Week', y='Stops', data=customer_rev_df, ax=axs[1]) 
ax3 = sns.factorplot(x='Week', y='Pieces', data=customer_rev_df, ax=axs[2]) 

axs[0].set_ylabel('Revenue') 
axs[1].set_ylabel('Stops') 
axs[2].set_ylabel('Pieces') 

axs[0].set_title('Revenue') 
axs[1].set_title('Stops') 
axs[2].set_title('Pieces') 


fig.show() 

ラベルのリストを反復処理することもできます。

labels = ['Revenue','Stops','Pieces'] 
for label, ax in zip(labels, axs): 
    ax.set_ylabel(label) 
    ax.set_title(label) 
+0

素晴らしい!それはうまくいった!本当にありがとう! – Emac

+0

@Emacそれを聞いてうれしい、あなたは大歓迎です:あなたの問題を解決した場合upvoteして受け入れることを忘れないでください。 Cheers – Chuck

+0

@Emacまた、 "グローバル"タイトルでは 'plt.suptitle()'を使います。 – Chuck

関連する問題