如何从matplotlib条形图中获取数据

cwdobuhd  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(114)

如何从matplotlib条形图中以编程方式检索数据?我可以像下面这样为matplotlib折线图做,所以也许我相当接近:

import matplotlib.pyplot as plt

plt.plot([1,2,3],[4,5,6])

axis = plt.gca()
line = axis.lines[0]
x_plot, y_plot = line.get_xydata().T
print("x_plot: ", x_plot)
print("y_plot: ", y_plot)

然而,对于条形图,没有线条,我不清楚等价的对象是什么:

plt.bar([1,2,3], [4,5,6])
axis = plt.gca()
???

FWIW,这里有几个相关的帖子(不进入条形图):

pvcm50d1

pvcm50d11#

  • matplotlib.pyplot.bar的API返回BarContainer对象
  • matplotlib.patches.Rectangle提供了Patch方法的完整说明。
  • 这个对象是可迭代的,可以使用适当的方法提取各种位置组件,如下所示。
import matplotlib.pyplot as plt

rects = plt.bar([1,2,3], [4,5,6])

for rect in rects:
    print(rect)
    xy = rect.get_xy()
    x = rect.get_x()
    y = rect.get_y()
    height = rect.get_height()
    width = rect.get_width()

[out]:
Rectangle(xy=(0.6, 0), width=0.8, height=4, angle=0)
Rectangle(xy=(1.6, 0), width=0.8, height=5, angle=0)
Rectangle(xy=(2.6, 0), width=0.8, height=6, angle=0)

相关问题