1.如何解决Matplotlib中文乱码问题
(1)当不对 Matplotlib 进行设置,而直接使用中文时,绘制的图像会出现中文乱码,例如下图
(2)解决方法:在绘图程序的最前面,加上以下这几行代码
# 设置字体
plt.rcParams["font.sans-serif"] = ["SimHei"]
# 该语句解决图像中的“-”负号的乱码问题
plt.rcParams["axes.unicode_minus"] = False
2.如何绘制一幅精美的折线图
(1)代码示例
import matplotlib.pyplot as plt
# 设置字体
plt.rcParams["font.sans-serif"] = ["SimHei"]
# 该语句解决图像中的“-”负号的乱码问题
plt.rcParams["axes.unicode_minus"] = False
# x数据
x = []
for i in range(0, 45, 3):
x.append(i)
# y1数据
y1 = [0.7, 0.58, 0.57, 0.58, 0.605, 0.63, 0.46, 0.605, 0.59, 0.59, 0.59, 0.435, 0.58, 0.435, 0.57]
# y2数据
y2 = [0.702, 0.581, 0.57, 0.578, 0.614, 0.64, 0.457, 0.62, 0.61, 0.6, 0.592, 0.445, 0.565, 0.425, 0.567]
# 设置x轴的刻度
plt.xticks(x)
# 设置x轴标注
plt.xlabel('迭代次数')
# 设置y轴标注
plt.ylabel('燃油消耗率')
# 设置x轴坐标范围
plt.xlim(0, 45)
# 设置y轴坐标范围
plt.ylim(0.3, 0.8)
# 绘制折线
plt.plot(x, y1, lw=1, c='orangered', marker='o', ms=6, label='真实值')
plt.plot(x, y2, lw=1, c='olive', marker='*', ms=6, label='预测值')
# 标出图例
plt.legend()
# 显示图形
plt.show()
(2)效果
(3)颜色、形状查找表
绘制折线,可以有多种颜色及形状,c代表color,marker代表节点形状,ms代表节点形状大小,label是折线名称。
plt.plot(x, y1, lw=1, c='orangered', marker='o', ms=6, label='真实值')
形状表
's' : 方块状
'o' : 实心圆
'^' : 正三角形
'v' : 反正三角形
'+' : 加号
'*' : 星号
'x' : x号
'p' : 五角星
'1' : 三脚架标记
'2' : 三脚架标记