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

Matplotlib - 图表对象上的 plt.show()

Matplotlib - 图表对象上的 plt.show()

大话西游666 2023-06-27 17:21:04
我这里有一个非常简单的例子。我正在从函数返回的 ax 对象绘制一个图:import matplotlib.pyplot as pltx = ['a', 'b', 'c']y = [1, 2, 3]def make_plot():    fig, ax = plt.subplots()    ax.set_title('test bar chart')    return axchart = make_plot()chart.bar(x, y)plt.show()               #why does this show the chart?我的问题是最后关于 plt.show() 的问题。显然,这显示了图表的输出。但为什么?对我来说, plt.show() 似乎与任何东西都没有联系。我有我的chart对象,其中包含我的图表及其所有参数等等。但是 plt.show() 如何知道与之交互呢?拥有类似的东西似乎更直观chart.show(),就像chart类实例一样。
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

好问题!chart是调用时创建的 Axes plt.subplots()。Pyplot 是所谓的“有状态”API。当您调用 plt.* 函数时,它会更改 pyplot 的内部状态,这可能会影响将来的调用。当您调用 时plt.subplots(),它知道有一个新创建的Figure,其中包含新创建的子图Axes。

同样,如果您调用plt.plot(),它会存储最新轴的记录,并在该图上绘制数据。

查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

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