【发布时间】:2019-07-18 10:51:59
【问题描述】:
我正在通过 Python 课程中的数据可视化来帮助我的实验报告,我似乎无法理解创建散点图示例中第二行的目的:
import matplotlib.pyplot as plt
fig,ax = plt.subplots()
ax.scatter([1,2,3,4,5],[1,2,3,4,5])
ax.set_xlabel('X')
ax.set_ylabel('Y')
plt.show()
有人能解释一下第一行在这里做什么吗?
我才开始使用 python,之前没有见过这种语法(fig,ax = plt.subplots())。我试图通过编写x,y=1 来测试它是否是一种将两个变量分配给同一事物的方法,我最终得到一个错误“int object is not iterable”。
我不明白的另一件事是fig 在代码主体的任何地方使用?我目前的理解是顶行定义了fig和ax是什么,我可以看到ax在代码主体中用于定义散点图,但是fig在哪里使用?我试图删除它并运行代码,但我得到了这个错误:
'tuple' object has no attribute 'scatter'
如果有人可以解释上述误解。
【问题讨论】:
-
fig未使用。但如果您愿意,可以使用它。如果你不这样做,它就在那里......不用担心。但是如果你真的不希望它在那里,人们经常使用下划线来表示不需要的变量,_, ax = plt.subplots()。此外,您可以通过动态创建图形ax = plt.figure().subplots()将轴分配给变量;或者,如果您只想要使用隐式创建图形的替代方法的单个轴,例如ax = plt.gca()也是可能的。
标签: python matplotlib subplot