我想知道可以将plt.bar函数的结果存储到数组中。像
这样的东西a=[1,2,3]
b=[21321,5345,654457]
height=list(b)
plt.bar(a,height=height)
a_b=result_of_pltbar
答案 0 :(得分:0)
我不确定将结果存储到数组中是什么意思,但这里有一些想法。
假设plt
由from matplotlib import pyplot as plt
导入,结果数字如下所示:
b
a
现在你除了酒吧的“边缘”之外还有其他所有东西。要获取当前轴,您可以使用ax = plt.gca()
。如果您调查vars(ax)
,您会发现ax.patches
看起来特别有趣。它们包含有关条形的数据。您可以在ax.patches[0]
找到以下内容:
In [18]: vars(ax.patches[0])
Out[18]:
{'_stale': True,
....
'_x0': 0.6,
'_y0': 0,
'_width': 0.8,
'_height': 21321,
'_x1': 1.4,
'_y1': 21321,
....
}
从这里可以很容易地看出,这些是第一个条形的所有几何属性和位置坐标。所以,如果你想收集条形图的左边缘,你可以使用
left_edges = [bar._x0 for bar in ax.patches]
将导致[0.6, 1.6, 2.6]
。获得酒吧的其他属性的过程应该是明确的。