一份详细的 Matplotlib入门指导

hMatplotlib是最受欢迎的二维图形库,但有时我们很难做到得心应手的去使用。

如何更改图例上的标签名称? 如何设置刻度线? 如何将比例更改为对数? 如何在我的情节中添加注释和箭头? 如何在我的图中添加网格线?

本文汇集了有关如何自定义Matplotlib图的常见问题和答案。 这可以作为快速Matplotlib绘图的一个很好的备忘单,而不是Matplotlib库的介绍。

《一份详细的 Matplotlib入门指导》
《一份详细的 Matplotlib入门指导》

关注后私信小编 PDF领取十套电子文档书籍

首先我们导入:

import matplotlib.pyplot as plt

在Jupyter Notebook中,您可以在下面包含这一行,这样您就不必在每次想要制作绘图时调用plt.show()。

%matplotlib inline

图与子图(PLOTS AND SUBPLOTS)

Q1:怎样定义图形的尺寸?

许多情况下,默认的画布都太小,我们需要自己定义一个合适的画布。

plt.figure(figsize=(20,10))

Q2:什么是子图(subplots)?怎样去创建子图?

子图是一组较小的轴,它们在一个图中一起存在。 下面是2 x 2形式的四个子图的示例。

《一份详细的 Matplotlib入门指导》
《一份详细的 Matplotlib入门指导》

这些子图是使用下面的代码创建的。 我们调用plt.subplot并指定三个数字。 它们指的是要创建子图的的行数,列数和子图号。

for i in range (1, 5):
 plt.subplot(2, 2, i)
 plt.text(0.5,0.5, str((2, 2, i)), ha='center', fontsize = 10)
 plt.tight_layout()

在上面的子图中,图中的文本是对这三个数字的引用。 子图编号的顺序是从左上角开始的行,从数字1开始。例如,左上图是子图编号1,右上图是子图编号2,左下图是子图编号3, 右下图是4号子图。

请注意,必须专门调用plt.subplot(2,2,1)来创建该子图。

Q3:如果子图布局不是很精致,怎样来调整呢?

如果子图排列过于紧凑。 我们可以通过调用plt.tight_layout()来修复它。它清理子图之间的填充以获得更清晰的外观。

调整前:

《一份详细的 Matplotlib入门指导》
《一份详细的 Matplotlib入门指导》

调整后:

《一份详细的 Matplotlib入门指导》
《一份详细的 Matplotlib入门指导》

Q4:怎么样天加网格线?

plt.grid(True)

风格和属性

Q5:怎样调整线的颜色粗细形状?

plt.plot(x, y, color = ‘green’ , linewidth = 2, linestyle = “-”)

常见的形状:

《一份详细的 Matplotlib入门指导》
《一份详细的 Matplotlib入门指导》

Q6:怎样更改标记(marker)的颜色和样式?

plt.scatter(x, y, marker = ‘o’, color = ‘red’)

常见的选择:

《一份详细的 Matplotlib入门指导》
《一份详细的 Matplotlib入门指导》

Q7:如何更改线条的透明度?

将alpha参数传递给你的绘图。 Alpha可以设置为0到1,其中0表示完全透明,1表示不透明。

plt.plot(x, y, alpha = 0.1)

下图说明了透明度在0.9,0.5和0.1的alpha水平下的表现.

《一份详细的 Matplotlib入门指导》

    原文作者:七月
    原文地址: https://zhuanlan.zhihu.com/p/48070239
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞