在数据可视化中,除了绘制数据曲线之外,还可以通过定制图表的辅助元素来提升图表的可读性和吸引力。这些辅助元素包括标题、图例、坐标轴名称、网格和刻度。下面是对这些图表辅助元素的定制的简要介绍:
首先建立一个包含正余弦图像的坐标系:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
plt.plot(x,y1,x,y2)
plt.show()
图像展示如下:
为图表添加辅助元素:
为图表添加标题,图例和显示网格
1.设置字体中文黑体
# 设置中文
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
2.设置坐标轴名称
#设置坐标轴名称
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
3.设置x轴的刻度范围和刻度标签
#设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min() * 1.5, x.max() * 1.5)
ax.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])
完整代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 0.设置中文
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 创建画布
fig = plt.figure()
# 在画布上添加绘图区域
ax = fig.add_subplot(111)
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
ax.plot(x, y1, x, y2)
#设置x轴和y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
#设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min() * 1.5, x.max() * 1.5)
ax.set_xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])
plt.show()
4.在图表内添加图例:
#添加图例
ax.legend(ax.plot(x, y1, x, y2), ['正弦', '余弦'], shadow=True, fancybox=True)
5.为图表添加标题
#添加标题
ax.set_title("正弦曲线和余弦曲线")
6.为图表添加网格
# 添加网格
ax.grid(True)
完整代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 0.设置中文
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 创建画布
fig = plt.figure()
# 在画布上添加绘图区域
ax = fig.add_subplot(111)
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1, y2 = np.sin(x), np.cos(x)
ax.plot(x, y1, x, y2)
# 设置x轴和y轴标签
ax.set_xlabel("x轴")
ax.set_ylabel("y轴")
# 添加网格
ax.grid(True)
# 设置x轴的刻度范围和刻度标签
ax.set_xlim(x.min() * 1.5, x.max() * 1.5)
ax.set_xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$'])
# 添加标题
ax.set_title("正弦曲线和余弦曲线")
# 添加图例
ax.legend(ax.plot(x, y1, x, y2), ['正弦', '余弦'], shadow=True, fancybox=True)
plt.show()
效果展示: