最近在学Python,今天分享的是Python绘图中文坐标标签显示乱码如何解决。
#声明一下环境:Mac版Python3.6
因为matplotlib库中的默认字体不支持中文,所以我们要将默认字体改成支持中文的字体,这里选择Arial Unicode MS,大家也可以选择别的字体。只需要在声明语句里加入如下两行即可:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
完整具体代码如下:(从excel读取数据,然后利用该数据绘制折线图)
# 添加库文件
import xlrd
import matplotlib.pyplot as plt
#设置默认字体,选择支持中文的字体以避免出现中文乱码情况
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# 定义空数组以储存x、y数据
x_data = []
y_data = []
# 先打开excel文件
data = xlrd.open_workbook(r"/Users/mint/Documents/Python绘图/第8节.xls")
# 获取第一个表sheet1,从0开始
table = data.sheet_by_index(0)
# 利用函数cell.value读取数据并写入空数组,分别读取第一列和第二列作为x,y数据
for i in range(1, 7):
x_data.append(table.cell_value(i, 0))
for j in range(1, 7):
y_data.append(table.cell_value(j, 2))
#绘制折线图
plt.plot(x_data, y_data, 'ro-')
plt.title('数学成绩单')
plt.xlabel('姓名')
plt.ylabel('分数')
plt.show()
结果如图所示,成功显示中文坐标标签。