# !usr/bin/env python
# -*- coding:utf-8 -*-
"""
@FileName: 模板
@Time: 2022/2/28,10:41
@Name: Zhang Yixing
"""
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.figure(figsize=(4, 3), dpi=100)
x_data = [11, 12, 13, 14, 15, 16, 17]
y_data = [58, 60, 63, 71, 84, 90, 107]
y_data2 = [40, 54, 51, 58, 56, 59, 62]
ln1 = plt.plot(x_data, y_data, label='y1', color='blue', linewidth=1.0)
ln2 = plt.plot(x_data, y_data2, label='y2', color='blue', linewidth=2.0, linestyle='--')
plt.title("title") # 图片标题
plt.xlabel("x lable", loc="center") # 设置X轴名称以及位置
plt.ylabel("y lable", loc="center")
# plt.axis([0, 6, 0, 20]) 语法为axis[xmin, xmax, ymin, ymax]
# 一种设置坐标轴的办法
plt.xticks(np.arange(10, 20, 2), ['10', '12', '14', '16', '18'])
# 另一种设置坐标轴的办法
plt.ylim([0, 120])
plt.yticks(np.linspace(0, 120, 12, endpoint=True))
# 添加注释 参数名xy:箭头注释中箭头所在位置,参数名xytext:注释文本所在位置,
# arrowprops在xy和xytext之间绘制箭头, shrink表示注释点与注释文本之间的图标距离
plt.annotate(text='local max', xy=(14, 60), fontsize=1, xytext=(16, 65), weight='bold',
arrowprops=dict(facecolor="red",
headlength=4, headwidth=4, width=2))
plt.grid(True) # 显示网格线
# matplotlib中各种图案都是以锚点保存, 使用mpl可以设置pdf图片文字以字体形式保存
mpl.rcParams['pdf.fonttype'] = 42
# 将右边和上边的边框去除
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 加上图例,以及边缘的颜色,内部的颜色
plt.legend(loc='upper left', edgecolor='None', facecolor='none')
# python使用matplotlib的savefig保存时图片保存不完整的问题
plt.savefig('模板.pdf', dpi=300, bbox_inches='tight')
plt.show()
image.png
网友评论