从matplotlib库中,我导入了pyplot模块。在该模块中,我使用了一个函数plot()。现在我的问题是:


为什么plot()函数不在任何类中?如果它在任何类中,为什么我们不创建该类的任何对象并使用plot()函数。
从官方文档中,我了解到plot()返回Line2D对象。但是plot()的返回没有存储在任何变量中,但是我们正在使用show()函数。通常,它应该是return_object.show(),但是pyplot模块又具有一个show()函数,该函数无需像plot()函数一样使用任何对象即可被调用。我们仅使用pyplot.show()来显示图形。这怎么可能。我的意思是在return_object.show()或pyplot.show(plot()函数返回的对象)中更有意义。如何显示特定的图而不是其他随机图?


我已经查看了示例代码并成功绘制。为了消除我的疑虑,我已经访问了官方的matplotlib模块。


from matplotlib import pyplot as plt

years = [1950, 1960, 1970, 1980, 1990, 2000, 2010]

gdp = [300.2, 543.3, 1075.9, 2862.5, 5979.6, 10289.7, 14958.3]

# create a line chart, years on x-axis, gdp on y-axis
plt.plot(years, gdp, color='green', marker='o', linestyle='solid')

# add a title
plt.title("Nominal GDP")

# add a label to the y-axis
plt.ylabel("Billions of $")

plt.show()

最佳答案

The docs说pyplot is a state-based interface to matplotlib.。它将绘图命令的当前状态保持在其自身内-像当前的Axes,Figure,Artists ...

Tutorial


  在matplotlib.pyplot中,跨函数保留各种状态
  调用,以便跟踪当前数据和
  绘图区域,并且绘图功能针对当前
  轴(请注意,此处和大多数地方的“轴”
  文档是指图形的轴部分,而不是严格的
  多个轴的数学术语)。




这些函数还返回Artists,Lines等,因此您可以将它们分配给名称,并根据您的喜好修改它们的属性。



值得至少通过图例指南通读the Tutorials

关于python - 导入了pyplot模块,并调用了pyplot,plot(),但未存储任何变量的返回值。但是调用pyplot.show()函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57541495/

10-12 18:33