Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib-查找条形图宽度值_Python_Pandas_Matplotlib - Fatal编程技术网

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)