【1】引言
新发现了一种自由划线操作函数,和大家共享。
【2】官网教程
点击下述代码,直达官网:
https://matplotlib.org/stable/gallery/misc/fig_x.html#sphx-glr-gallery-misc-fig-x-py
官网代码非常简洁,我进行了解读。
【3】代码解读
首先是引入画图,然后是画图,最后输出图像,完整的代码解释为:
import matplotlib.pyplot as plt #引入画图模块
import matplotlib.lines as lines #从画图模块引入划线模块
fig = plt.figure() #定义要画图
fig.add_artist(lines.Line2D([0, 1], [0, 1])) #绘制第一条线
fig.add_artist(lines.Line2D([0, 1], [1, 0])) #绘制第二条线
plt.show() #输出图像
运行后的输出图像为:
图1
【4】代码修改
根据图象解读fig.add_artist(lines.Line2D()函数,它们自己构成了一个坐标轴。
fig.add_artist(lines.Line2D([0, 1], [0, 1]))绘制了第一条线,是图1中自左向右递增的线,第一个[0,1]代表X的范围,第二个[0,1]代表Y的范围,Y是递增形式,所以函数递增;
fig.add_artist(lines.Line2D([0, 1], [1, 0])) 绘制了第二条线,是图1中自左向右递减的线,第一个[0,1]代表X的范围,第二个[1,0]代表Y的范围,Y是递减形式,所以函数递增。
为此做一个测试,新输入一行代码,创造一个相对急剧递减的函数:
fig.add_artist(lines.Line2D([0, 1], [1.5, -1])) #绘制第三条线
代码运行后:
图2
此时的完整代码为:
import matplotlib.pyplot as plt #引入画图模块
import matplotlib.lines as lines #从画图模块引入划线模块
fig = plt.figure() #定义要画图
fig.add_artist(lines.Line2D([0, 1], [0, 1])) #绘制第一条线
fig.add_artist(lines.Line2D([0, 1], [1, 0])) #绘制第二条线
fig.add_artist(lines.Line2D([0, 1], [1.5, -1])) #绘制第三条线
plt.show() #输出图像
【5】总结
掌握了无坐标轴自由划线操作fig.add_artist(lines.Line2D()函数的基本应用技巧。