您好,登录后才能下订单哦!
这篇文章主要介绍了Matplotlib中plt和ax指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
注意,当我说“plt”时,它并不存在于Matplotlib库中。它之所以被称为“plt”,是因为大多数Python程序员喜欢导入Matplotlib并创建一个名为“plt”的别名,我相信您应该知道这个别名。
import matplotlib.pyplot as plt
然后,回到我们的主题。为了演示,让我们画一个简单的图表。
import numpy as npplt.plot(np.random.rand(20)) plt.title('test title') plt.show()
如上面标注的截图所示,当我们使用plt
:
将生成一个figure
对象(以绿色显示)
Axes
对象是通过绘制的折线图(红色显示)隐式生成的
图中的所有元素(如x和y轴)都在Axes
对象中呈现(蓝色显示)
这也就表示:
figure
就像一张纸,你可以画任何你想画的东西
我们必须在“单元格”中绘制图表,在此处,Axes
是坐标轴
如果我们只画一个图形,我们不需要先画一个“单元格”,只要在纸上画就可以了。我们可以使用plt.plot(…)
当然,我们可以在“纸”上显式地绘制一个“单元格”,以告诉Matplotlib我们将在这个单元格中绘制一个图表。然后,我们有以下代码。
fig, ax = plt.subplots() ax.plot(np.random.rand(20)) ax.set_title('test title') plt.show()
结果完全一样。唯一的区别是我们明确地绘制了“单元格”,这样我们就能够得到Figure
和Axes
对象。
实际上,当我们只想绘制一个图形时,没有必要“绘制”单元格。但是,您必须注意到,当我们想在一个图中绘制多个图时,必须这样做。
n_rows = 2 n_cols = 2fig, axes = plt.subplots(n_rows, n_cols) for row_num in range(n_rows): for col_num in range(n_cols): ax = axes[row_num][col_num] ax.plot(np.random.rand(20)) ax.set_title(f'Plot ({row_num+1}, {col_num+1})')fig.suptitle('Main title') fig.tight_layout() plt.show()
在这个代码片段中,我们首先声明了要“绘制”的行和列的数量。2×2表示我们要画4个单元格。
然后,在每个单元格中,我们绘制一个随机的折线图,并根据其行号和列号分配一个标题。请注意,我们使用的是axis实例。
在此之后,我们在“paper”上定义一个“Main title”,即Figure
实例。所以,我们有这个超级标题,它不属于任何“单元格”,但在幕布上。
最后,在调用show()
方法之前,我们需要要求Figure
实例通过调用它的tight_layout()
方法自动在单元格之间提供足够的填充。
感谢你能够认真阅读完这篇文章,希望小编分享的“Matplotlib中plt和ax指的是什么意思”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。