目录
- fig.add_subplot()
- ax.set()
- plt.legend()
- plt.subplots_adjust()
- plt.suptitle()
- plt.grid()
fig.add_subplot()
fig.add_subplot() 是 Matplotlib 中 Figure 对象的方法,用于在图形中添加子图(subplot)。
其语法为:
subplot(nrows, ncols, index, **kwargs)
参数说明:
- nrows:子图的行数。
- ncols:子图的列数。
- index:子图的位置,从左上角开始,从左往右,从上往下数。
- **kwargs:其他关键字参数,用于控制子图的属性,如投影类型、坐标轴范围等。
示例:
import matplotlib.pyplot as pltfig = plt.figure()# 添加一个 2x2 的子图,并选择第一个子图
ax1 = fig.add_subplot(221)# 添加一个 2x2 的子图,并选择第二个子图
ax2 = fig.add_subplot(222)# 添加一个 2x1 的子图,并选择第一个子图
ax3 = fig.add_subplot(223)
plt.show()
ax.set()
在Matplotlib中,ax.set()函数是用于设置图表的属性,可以设置图表的标题、坐标轴标签、坐标轴范围等。
语法为:
ax.set(**kwargs)
参数说明:
**kwargs:其他关键字参数,用于设置图表的各种属性,如标题(title)、坐标轴标签(xlabel、ylabel)、坐标轴范围(xlim、ylim)等。
示例:
import matplotlib.pyplot as pltfig, ax = plt.subplots()# 设置图表的标题和坐标轴标签
ax.set(title='Example Plot', xlabel='X Axis', ylabel='Y Axis')# 设置坐标轴范围
ax.set_xlim(0, 6)
ax.set_ylim(0, 15)
ax.plot([1, 2, 3, 4, 5,7],[2, 3, 5, 7, 11,16])
# plt.plot([1, 2, 3, 4, 5,7],[2, 3, 5, 7, 11,16])
plt.show()
plt.legend()
plt.legend() 是 Matplotlib 中用于添加图例(legend)的函数。图例是用于标识图表中不同数据系列的标签,以便于区分和理解数据的可视化元素。
具体语法为:
plt.legend(*args, **kwargs)
参数说明:
- *args:可以是字符串、数组或者对象的序列,用于设置图例的标签。通常是与 plot 函数中的 label 参数搭配使用,也可以直接传入字符串作为标签。
- **kwargs:其他关键字参数,用于设置图例的属性,如位置、边框、透明度等。
子图可以使用axes[0,0].legend()
示例:
import matplotlib.pyplot as pltx = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 6, 8, 10]plt.plot(x, y1, label='Series 1')
plt.plot(x, y2, label='Series 2')# 添加图例
plt.legend()
plt.show()
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=2, ncols=1)
plt.subplots_adjust(hspace=0.5, wspace=0.5)axes[0].set_title('A Stock Price Trend Chart') #设置各个图的子标题
axes[1].set_title('B Stock Price Trend Chart') #设置各个图的子标题axes[0].set_xlabel('X axis') ##横轴名称
axes[0].set_ylabel('Y axis') ##纵轴名称
axes[1].set_xlabel('X axis') ##横轴名称
axes[1].set_ylabel('Y axis') ##纵轴名称 x = [1, 2, 3, 4, 7 ,9]
y1 = [1, 2, 4 ,8, 8 ,12]
y2 = [1, 2, 4 ,10, 30 ,40]axes[0].plot(x, y1,'r',label='A share price')
axes[0].legend()
axes[1].plot(x, y2,label='B share price')
axes[1].legend() #创建图例#plt.suptitle('Stock Price Trend Chart', color='m', fontsize=14, fontweight='heavy')##子图设置主标题plt.show()
plt.subplots_adjust()
plt.subplots_adjust() 是 Matplotlib 中用于调整子图布局的函数。它允许您在创建子图之后调整子图之间的间距、边距和整体布局。
具体语法为:
plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
参数说明:
- left、bottom、right、top:用于调整子图边界的距离,可以设置为相对于图形宽度和高度的比例。
- wspace:用于调整子图之间的水平间距。
- hspace:用于调整子图之间的垂直间距。
示例:
import matplotlib.pyplot as pltfig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, bottom=0.2, right=0.8, top=0.8, wspace=0.5, hspace=0.5)
plt.suptitle()
plt.suptitle() 函数是 Matplotlib 中用于添加图形标题(超级标题)的函数。它允许您在整个图形的顶部添加一个标题,用于描述整个图形的内容或主题。
具体语法为:
plt.suptitle(t, **kwargs)
其中,参数 t 是要添加的标题文本,而 **kwargs 则允许您传递额外的参数,如字体大小、颜色等。
示例:
import matplotlib.pyplot as pltfig, axs = plt.subplots(2, 2)
fig.suptitle('Overall Title', fontsize=16)
plt.grid()
plt.grid() 函数是 Matplotlib 中用于在图形中添加网格线的函数。它允许您在图形中显示水平和垂直方向的网格线,以帮助读者更容易地理解数据的分布和趋势。
具体语法为:
plt.grid(b=None, which='major', axis='both', **kwargs)
- 参数 b 是一个布尔值,用于控制网格线的显示与隐藏;
- 参数 which 指定要绘制网格线的刻度(major 或 minor);
- 参数axis 指定要绘制网格线的轴(x、y 或 both);而 **kwargs 则允许您传递额外的参数,如线型、颜色等。
示例:
import matplotlib.pyplot as pltplt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.grid(True, linestyle='--', linewidth=0.5, color='gray')