一、基本定义
plt.grid是matplotlib.pyplot库中的一个函数,可以在matplotlib图中添加网格线。它的参数包括b:是否加粗,默认为加粗;ls:链接符号,用于指定链接符号的类型;alpha:灰度值或透明度值,范围为0-1,默认为1。
二、用法详解
plt.grid常用于绘制二维图表中,通常用户在查看图表数据的时候需要更加直观的理解数据的分布情况,这个时候就可以使用plt.grid来给二维图表添加一些分割线,使得数据更加清晰的表现出来,从而更好的进行分析。接下来介绍plt.grid的具体用法:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 200) y1 = np.sin(x) y2 = np.cos(x) plt.plot(x, y1, color="blue", linewidth=1.5, label="sin(x)") plt.plot(x, y2, color="red", linewidth=1.5, linestyle="--", label="cos(x)") plt.legend(loc="upper right") plt.grid(True, linestyle="--", alpha=0.5) plt.show()
这段代码中x为-π到π之间200个等差值,y1为对应的sin函数值,y2为对应的cos函数值,在作图前需要先引入matplotlib库和numpy库。将x与y1作为一个序列,颜色为蓝色,线宽为1.5像素,并将其标识为“sin(x)”。将x与y2作为另一个序列,颜色为红色,线宽为1.5像素,线条类型为虚线,并将其标识为“cos(x)”。之后将图例置于右上角,并使用plt.grid函数在图中添加网格线,线性样式设为”–“,透明度设为0.5,最后显示图形。
三、plt.grid创新实践
除了在基本的二维图表中使用plt.grid,我们也可以将其融合在其他创新实践中。以下展示三个不同的例子:
1、极坐标图中使用plt.grid
import matplotlib.pyplot as plt import numpy as np theta = np.linspace(0, 2 * np.pi, 24, endpoint=True) theta = np.append(theta, [theta[0]]) r = np.linspace(0, 1, num=25) ax = plt.subplot(111, polar=True) ax.plot(theta, r, 'r-', linewidth=2) ax.set_rgrids(np.arange(0.2, 1, 0.2), angle=0) ax.grid(True) ax.set_title("Polar Grid Example") plt.show()
这段代码中,首先生成了24个等分的角度和25个等分的半径值,用于构建一个极坐标图。随后使用plt.subplot创建一个纵轴为半径的极坐标轴系,然后通过plot()函数绘制极坐标折线图。设置半径的网格范围为0.2-1,网格线颜色为黑色,线宽为1,并显示极坐标网格线。
2、图片标定中使用plt.grid
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() h, w, d = np.random.random((3, 5, 5)) ax.imshow(h) ax.grid(which='major', alpha=0.5) plt.show()
这段代码中,首先生成了一个随机的3D数组,然后使用imshow函数将其显示为灰度图像。之后使用plt.grid函数添加网格,将样式设为“major”,透明度为0.5。
3、热度图中使用plt.grid
import matplotlib.pyplot as plt import numpy as np data = np.random.rand(10, 10) fig, ax = plt.subplots() im = ax.imshow(data, cmap='gist_earth') cbar = ax.figure.colorbar(im, ax=ax) ax.grid(which='major', axis='both', linestyle='-', color='k', linewidth=2) ax.set_xticks(np.arange(-.5, 10, 1)); ax.set_yticks(np.arange(-.5, 10, 1)); plt.show()
这段代码中,首先生成了一个随机的10×10数组,并使用imshow函数将其绘制为热度图像。随后使用colorbar函数为热度图添加颜色标识条。接着使用plt.grid函数为热度图添加网格,其中位于主要轴和次要轴上的网格线使用黑色实线绘制,线宽为2。
原创文章,作者:GCFPF,如若转载,请注明出处:https://www.506064.com/n/333729.html