之前我们说过使用python进行画图,使用的工具是matplotlib.pyplot也就是我们一般简写的plt。在英文环境下,一般不会出现乱码问题,但是当我们想要使用中文进行描述,比如:标题,文字说明,x轴名称和y轴名称等。这个时候就会出现乱码格式如下图:
解释:图中的方框形式的内容[][]
就是我们所说的中文乱码了。
那么接下来我们怎么解决这个问题呢,很简单,操作如下:
1.先看看核心代码
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['STSong']
plt.rcParams['axes.unicode_minus'] = False
2.将核心代码放在出现中文字符的操作前面,如,以下类似的代码(如果不太明白,结合下一步):
plt.xlabel("x的取值") # 设置横轴(x)标签
plt.ylabel("y的取值") # 设置每个图中纵轴(y)的标签
plt.title("散点图") # 设置标题
4.整体代码如下
import matplotlib.pyplot as plt
# 下面的x与y的是一一对的
# 也就是[1,9],[2,3],[3,4],[4,5],...这些点
x = [1, 2, 3, 4, 5, 6, 6, 8, 9]#随机写的x取值
y = [9, 3, 4, 5, 6, 7, 8, 2, 1]#随机写的y取值
plt.scatter(x,y)#画出散点
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['STSong']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel("x的取值") # 设置横轴(x)标签
plt.ylabel("y的取值") # 设置每个图中纵轴(y)的标签
plt.title("散点图") # 设置标题
plt.grid(linestyle='-.', color='orange') # 画出每个图中的网格
# 将点的值描述出来
for i in range(len(x)):
plt.text(x[i],y[i],"({},{})".format(x[i],y[i]))
plt.tight_layout() # 自动调整参数,使之填充整个图像区域
plt.show() # 展示图片
5.解决乱码后所画的图如下:
注意:欢迎转载,转载时请注明来源