gpt4 book ai didi

python - python 中的水平堆叠条形图在 Jupyter Notebook 中提供多个图表

转载 作者:太空狗 更新时间:2023-10-30 02:26:38 25 4
gpt4 key购买 nike

我正在尝试在 Jupyter 笔记本中制作具有指定大小、标题和图例位置的堆叠水平条形图。当我使用其他 Stack Overflow 解决方案时,我会打印出多张图表,而不是一张。这是一个简化的示例:

import pandas as pd
import matplotlib.pyplot as plt
a = [3,5,4,2,1]
b = [3,4,5,2,1]
c = [3,5,4,6,1]
df = pd.DataFrame({'a' : a,'b' : b, 'c' : c})
df.plot.barh(stacked=True);

fig, ax = plt.subplots()
fig.set_size_inches(6,6)

ax.set_title("My ax title")
#plt.title("My plt title") # This seems to be identical to ax.set_title
# Which is prefered?
ax.legend(loc='upper left')

plt.show()

此代码为我提供了以下两个图。情节是我要找的,但我的大小和图例位置被忽略,标题被放在我不想要的第二个图表上。

enter image description here enter image description here

注意:我正在使用 pandas 中的 plot.barh,因为我可以使用它,但我也很乐意直接从 matplotlib 中执行它。

最佳答案

您可以将 plot 的返回对象分配给变量 ax。然后做你想做的事。

a = [3,5,4,2,1]
b = [3,4,5,2,1]
c = [3,5,4,6,1]
df = pd.DataFrame({'a' : a,'b' : b, 'c' : c})
ax = df.plot.barh(stacked=True);

ax.figure.set_size_inches(6,6)

ax.set_title("My ax title")
ax.legend(loc='upper left')

enter image description here


或者,您可以在 plot 调用中引用您创建的 ax

a = [3,5,4,2,1]
b = [3,4,5,2,1]
c = [3,5,4,6,1]
df = pd.DataFrame({'a' : a,'b' : b, 'c' : c})

fig, ax = plt.subplots()
fig.set_size_inches(6,6)

df.plot.barh(stacked=True, ax=ax);

ax.set_title("My ax title")
ax.legend(loc='upper left')

enter image description here

关于python - python 中的水平堆叠条形图在 Jupyter Notebook 中提供多个图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44338623/

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