gpt4 book ai didi

python - 更改 Seaborn 图中的轴

转载 作者:行者123 更新时间:2023-11-30 22:37:17 25 4
gpt4 key购买 nike

我对编程还比较陌生,而且是全新的,所以对我宽容一些。我在 Python 中有一个查询,它返回特定分支机构的每周收入、“停止”(交付)和“件数”(包裹),并根据用户请求返回尽可能多的周数。我想使用 Seaborn 打印一个图形,显示每个相邻的图,但我也希望能够编辑这些图。例如,我无法弄清楚如何更改 Y 轴以读取“收入”而不是“平均值(收入)”而不使其成为单独的数字。经停站和件数也是如此。尝试改变各个轴上的任何内容似乎都不起作用。另外,如何给图添加标题?我已经尝试过,但它似乎忽略了我的代码。

查看此处的代码及其当前返回的图像:

    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

感谢您提供的任何帮助!

最佳答案

您可以使用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)

关于python - 更改 Seaborn 图中的轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43924279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com