在线性坐标系中绘制一次函数图象

green-cnblogs / 2024-09-27 / 原文

本文记述了用 Matplotlib 在线性坐标系中绘制一次函数图象的例子。

代码主体内容如下:

fig, ax = plt.subplots(figsize=(8,8))           #1


x = np.linspace(-4, 4, 100)
y = 2 * x + 1                                #2
ax.plot(x, y, color='b')

x = np.linspace(-9, 9, 100)
y = - 0.5 * x - 3
ax.plot(x, y, color='r')

ax.text(5, 8,  'y = 2x + 1',    color='b', horizontalalignment='left',  verticalalignment='bottom')
ax.text(8, -8, 'y = -0.5x - 3', color='r', horizontalalignment='right', verticalalignment='top')
                                                        #3
                                                        
ax.set(xlim=(-11.2,11.2), ylim=(-11.2,11.2))    #4


ax.spines['left'].set_position('zero')               #5
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')

ax.xaxis.set_label_text('X')                         #6
ax.xaxis.set_label_coords(1, 0.48)
ax.xaxis.set_major_locator(MultipleLocator(5))
ax.xaxis.set_minor_locator(MultipleLocator(1))
for label in ax.xaxis.get_ticklabels(): label.set_horizontalalignment('left')

ax.yaxis.set_label_text('Y')

...

fig.tight_layout()                      #7

plt.show()

准备一个方形的绘图区域(#1)。用蓝色实线和红色实线分别绘制 y = 2x + 1 和 y = -0.5x - 3 这两个一次函数图象(#2),并附上文本说明(#3)。控制两个坐标轴的刻度范围边界(#4),将坐标系轴置为 (0,0) 点位于图象中心的样式(#5)。设置 X 轴的坐标标签、主次刻度(#6),Y 轴也依此处理。最后调整绘图区域大小以填充整个图象区域(#7)。

图象显示结果如下:

figure

更多例子请参考 Matplotlib Gallery。