#定义数据
np.random.seed(428)
x= np.linspace(0.5, 3.5, 100) #在 [a, b] 间隔均匀的 100 个数
y1 =np.sin(x)
y2= np.random.randn(100)#图表元素中正常显示中文字符
mpl.rcParams['font.sans-serif'] = 'SimHei'
#坐标轴刻度标签正常显示负号
mpl.rcParams['axes.unicode_minus'] =False#设置画布
fig = plt.figure(figsize=(14, 8), #画布大小
facecolor='lightyellow') #画布的背景色#折线图
plt.plot(x, y1,
ls='-.',
lw=2,
label='正弦曲线')#散点图
plt.scatter(x, y2,
color='0.6', #标记点的灰度值颜色
edgecolor='green', #标记点的边线颜色
linewidth=0.25, #标记点边线的宽度
label='散点')#设置坐标轴的刻度范围
plt.xlim(xmin=0, #x 轴上的最小值
xmax=4) #x 轴上的最大值
plt.ylim(ymin=-3, #y 轴上的最小值
ymax=3); #y 轴上的最大值
#设置坐标轴标题
plt.xlabel(s='x 轴', size=12, color='cyan')
plt.ylabel(s='y 轴', size=12, color='cyan')#设置坐标轴刻度
plt.xticks(size=14, color='grey')
plt.yticks(size=14, color='grey')#设置图形标题
plt.title(s='matplotlib 的图形结构', #标题的文本内容
size=18, #标题文本的字体大小
color='k') #标题文本的颜色
#设置图例
plt.legend(fontsize=14)#添加水平参考线
plt.axhline(y=0, #参考线的垂直与 y 轴的刻度
linestyle='--', #参考线的线条风格 破折线
color='red', #参考线的颜色 红色
linewidth=2) #参考线的线条宽度
#添加垂直参考区域
plt.axvspan(xmin=1.0, #参考区域的其实位置
xmax=2.0, #参考区域的终止位置
facecolor='yellow', #参考区域的填充颜色
alpha=0.3) #参考区域填充颜色的透明度
#添加指向型文本注释## 对极值点的指向指向型注释
plt.annotate(s='极大值点(π/2, 1)', #注释的内容文本
xy=(np.pi/2, 1), #被注释内容的坐标位置
xytext=(np.pi/2+1.0, 0.8), #注释文本的坐标位置
weight='bold', #注释文本的字体粗细风格
color='red', #注释文本的字体颜色
#指示注释内容的箭头的属性字典
arrowprops=dict(arrowstyle='->', #箭头风格
connectionstyle='arc3',
color='red')) #箭头颜色
## 对区域的注释### 箭头
plt.annotate(s='区域', #注释的内容文本
xy=(0.75, -3), #被注释内容的坐标位置
xytext=(0.35, -2.25), #注释文本的坐标位置
weight='bold', #注释文本的字体粗细风格
color='blue', #注释文本的字体颜色
#指示注释内容的箭头的属性字典
arrowprops=dict(arrowstyle='->', #箭头风格
connectionstyle='arc3',
color='blue')) #箭头颜色
### 箭头
plt.annotate(s='', #注释的内容文本
xy=(0, -2.78), #被注释内容的坐标位置
xytext=(0.4, -2.32), #注释文本的坐标位置
#指示注释内容的箭头的属性字典
arrowprops=dict(arrowstyle='->', #箭头风格
connectionstyle='arc3',
color='blue')) #箭头颜色
## 对刻度线的注释
plt.annotate(s="'|'是刻度线", #注释的内容文本
xy=(3.5, -2.89), #被注释内容的坐标位置
xytext=(3.6, -2.7), #注释文本的坐标位置
size=10, #字体大小
weight='bold', #注释文本内容的字体粗细风格
color='blue', #注释内容的字体颜色
#指示注释内容的箭头的属性字典
arrowprops=dict(arrowstyle='->', #箭头风格
connectionstyle='arc3',
color='blue')) #箭头颜色
## 对刻度标签的的注释
plt.text(x=3.6, #注释内容所在的横轴坐标
y=-2.95, #注释内容所在的纵轴坐标
s='3.5 是刻度标签', #注释的文本内容
size=10, #字体大小
weight='bold', #注释文本内容的字体粗细风格
color='blue'); #注释内容的字体颜色
#设置网格线
plt.grid(b=True,
ls=':', #线条样式为虚线
color='Magenta', #网各线颜色为品红
alpha=0.55); #网格线透明度