图表样式的美化
matplotlib绘制的图表具有固定的样式。例如,折线图的线条一直是蓝色的实线;散点图的数据点一直是圆点等,以这种固定样式绘制出的图表既单一又不美观。matplotlib内置了一些图表元素的样式,包括颜色、线型、数据标记、字体、主题风格等,通过修改这些样式可以美化图表。
实例:需求:绘制一个包含正弦曲线和余弦曲线的图表,具体要求如下:
(1) 正弦曲线的样式:红色、线宽为1.0;
(2) 余弦曲线的样式:蓝色、线宽为1.0,透明度为0.5;
(3) x轴的刻度标签为“-π”、 “-π/2”、 “0”、 “π/2”、 “-π”;
(4) 在x=1、y=np.cos(1)的位置添加指向型注释文本;
(5) 为正弦曲线和余弦曲线封闭起来的区域填充绿色,透明度为0.25。
#插入模块
import numpy as np
import matplotlib.pyplot as plt
#准备数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y_cos, y_sin = np.cos(x), np.sin(x)
#绘制折线
plt.plot(x, y_cos, color='blue', linewidth=1.0, alpha=0.5)
plt.plot(x, y_sin, color='red', linewidth=1.0, alpha=0.5)
#图表辅助元素定制(图表标题,刻度标签,图例,网格,指向型注释文本)
# 1.添加图表标题
plt.title('Cos & Sin')
# 2.X轴的刻度标签
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])
# 3.Y轴的刻度标签
plt.yticks([-1.0, -0.5, 0.0, 0.5, 1.0])
# 4.添加图例
lines=plt.plot(x, y_cos, x, y_sin)
plt.legend(lines, ['COS','SIN'], ncol=1, loc='upper left')
#ncol:图表的列数,默认值为1;
#loc:用于控制图例在图表的位置
# 5.添加网络
plt.grid()
# 6.添加指向型注释文本
plt.annotate('cos(1)',
xy=(np.pi/3, 0.55),
xytext=((np.pi/2.6), 0.8),
arrowprops=dict(arrowstyle='->'))
#图表样式美化(填充颜色)
plt.fill_between(x, y_cos, y_sin, y_cos > y_sin, color='g', alpha=0.25)
#图表展示
plt.show()