Python Matplotlib-查找条形图宽度值
希望这里有一个相对简单的问题-我正在绘制两个条形图。其中一个具有更多类别,因此每个条的宽度更小。参见下面的示例代码/图表(简单、标准绘图):Python Matplotlib-查找条形图宽度值,python,pandas,matplotlib,Python,Pandas,Matplotlib,希望这里有一个相对简单的问题-我正在绘制两个条形图。其中一个具有更多类别,因此每个条的宽度更小。参见下面的示例代码/图表(简单、标准绘图): 如果左图有12条,右图有8条,如何确保条数较少的图具有相同的条宽?我知道我可以在每种类型中定义宽度,但我想知道ax2是否可以从ax1访问此值?谢谢您的帮助。请注意,这些条的宽度实际上是相同的。它们都是0.8个数据单元宽。但是,由于左轴范围较大,一个数据单元比右轴小 In [147]: [p.get_width() for p in ax1.patches
如果左图有12条,右图有8条,如何确保条数较少的图具有相同的条宽?我知道我可以在每种类型中定义宽度,但我想知道ax2是否可以从ax1访问此值?谢谢您的帮助。请注意,这些条的宽度实际上是相同的。它们都是0.8个数据单元宽。但是,由于左轴范围较大,一个数据单元比右轴小
In [147]: [p.get_width() for p in ax1.patches]
Out[147]: [0.5, 0.5, 0.5, 0.5, 0.5]
您可以在两种情况下使用相同的数据范围,例如通过共享x轴
plt.subplots(1, 2, sharey=True, sharex=True)
bar(x,y,width=30)
您不能使用width
参数来执行此操作吗?值得尝试的是,我可以,但正如我提到的,我需要分别定义ax1和ax2。我正试图利用ax1中自动生成的宽度,并将其带到ax2中。@AndrewL,很高兴它有帮助:)这很有趣。我尝试过这种方法,但似乎我的ax1采用了较小范围的ax2(并且标签消失了)。既然Max回答了我的问题(我不知道两者的宽度是一样的),我应该单独再问一次这个问题吗?特别询问如何在两个图形中匹配条形图的外观?这是您的选择,您也可以编辑您的问题。但在任何情况下,请确保提供问题的详细信息。顺便说一句。如果只是因为共享轴上缺少值,请最后用更多条绘制图形。
plt.subplots(1, 2, sharey=True, sharex=True)