为了账号安全,请及时绑定邮箱和手机立即绑定

Python - 将 2 个图绘制在一起

Python - 将 2 个图绘制在一起

明月笑刀无情 2021-11-23 19:50:26
我有两个单独的图,我想在同一个图上显示它们。这是我的情节 1 代码ax1= concatenated_data_cleaned.groupby(['Cat1', 'Cat2']).median()[['Measure']].unstack()ax1.plot.bar(rot =0)plt.xlabel("Cat Names")plt.ylabel("Measures")plt.title("Title 1")plt.show()这是我的情节 2 代码,ax2= concatenated_data_cleaned.groupby(['Cat2', 'Cat1']).median()[['Measure']].unstack()ax1.plot.bar(rot =0)plt.xlabel("Cat Names")plt.ylabel("Measures")plt.title("Title 2")plt.show()现在,这一个接一个地显示在不同的图表(图像)中。我如何在同一个图表中显示这个 - 在同一个图表(图像)中一个低于另一个。请帮我解决这个问题。这就是我正在尝试的fig, axes = plt.subplots(nrows=2)df1= concatenated_data_cleaned.groupby(['Cat1', 'Cat2']).median()[['Measure']].unstack()ax1 = df1.plot.bar(rot =0)df2= concatenated_data_cleaned.groupby(['Cat2', 'Cat1']).median()[['Measure']].unstack()ax2 = df2.plot.bar(rot =0)ax1.plt.bar(rot=0, ax=axes[0])ax2.plt.bar(rot=0, ax=axes[1])plt.show()它对我不起作用。
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

您的变量命名有点不合常规。ax通常用于 matplotlib Axes 对象。在这里你有一个数据框。


无论如何,您应该设置一个带有两个轴的图形。plt.subplots是一个简单的方法来做到这一点。它将返回图形和包含您创建的所有轴的数组。您甚至可以使用sharex和将轴设置为两者之间相等sharey。在每个数据帧的绘图调用中使用轴对象:


df1= concatenated_data_cleaned.groupby(['Cat1', 'Cat2']).median()[['Measure']].unstack()

df2= concatenated_data_cleaned.groupby(['Cat2', 'Cat1']).median()[['Measure']].unstack()


fig, axes = plt.subplots(nrows=2, sharex=True, sharey=True)

df1.plot.bar(rot=0, ax=axes[0])

df2.plot.bar(rot=0, ax=axes[1])

axes[0].set_title('Title 0')

axes[1].set_title('Title 1')

plt.show()


查看完整回答
反对 回复 2021-11-23
  • 1 回答
  • 0 关注
  • 1250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信