画一个坐标系,同时显示两条直线,效果图如下:
功能点:
同时显示两个纵坐标数据
显示图片名称
图片最大化保存 到本地
在图片某个位置显示字符信息
不同的线名称提示
代码如下:
import matplotlib.pyplot as plt
def print_picture(data_path, x:list, y1:list, y2:list):
# 设置显示网格
plt.grid(True)
wm = plt.get_current_fig_manager()
# 最大化,方便保存的是大图片
wm.window.state('zoomed')
plt.plot(x, y1, label='y=x') # , color='blue' 蓝色
plt.plot(x, y2, label='y=2*x + 1') # , color='yellow' 橙色
# 图片名称
pictureName = 'test-picture'
plt.title(pictureName)
# 图片右上角打印文职
plt.text(len(x)*0.85, max(y2)*0.85, 'info xxxx')
# 显示label
plt.legend()
# 设置 x y坐标轴
plt.xlabel('X')
plt.ylabel('y1/y2')
# 需要暂停显示,否则保存的就是小图片
plt.pause(0.1)
picture_name = data_path + '\\%s.jpg' % pictureName
# 保存图片到本地
plt.savefig(picture_name)
plt.close()
if __name__ == '__main__':
data_path = 'D:\工作文件\mysql_data'
# 生成三个数组,分别存放 x 和两个y数据
x = []
y1 = []
y2 = []
i = 0
while i < 100:
x.append(i + 1)
y1.append(x[i])
y2.append(2 * x[i] + 1)
i += 1
print_picture(data_path, x, y1, y2)