一、问题情境
1.使用matplotlib画一个曲线图,但无法显示标题和坐标的中文
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
# fig表示整个图片,ax表示图表
fig, ax = plt.subplots()
# 绘图,并设置线的宽度
ax.plot(squares, linewidth=3)
# 设置图表的标题,并给坐标轴加上标签
ax.set_title("平方数", fontsize=24)
ax.set_xlabel("值", fontsize=14)
ax.set_ylabel("值的平方", fontsize=14)
# 设置刻度标记的大小
ax.tick_params(axis="both", labelsize=14)
plt.show()
二、解决方法(之一)
1.加上下面一句设置中文
plt.rcParams['font.sans-serif'] = 'SimHei' # 黑体
完整如下
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
squares = [1, 4, 9, 16, 25]
# fig表示整个图片,ax表示图表
fig, ax = plt.subplots()
# 绘图,并设置线的宽度
ax.plot(squares, linewidth=3)
# 设置图表的标题,并给坐标轴加上标签
ax.set_title("平方数", fontsize=24)
ax.set_xlabel("值", fontsize=14)
ax.set_ylabel("值的平方", fontsize=14)
# 设置刻度标记的大小
ax.tick_params(axis="both", labelsize=14)
plt.show()
问题解决:
2.如果是因为加了模板样式导致中文无法显示,只需要在添加样式的语句后面添加plt.rcParams[‘font.sans-serif’] = ‘SimHei’ # 黑体即可:
import matplotlib.pyplot as plt
plt.style.available
# 添加模板样式
plt.style.use('seaborn')
plt.rcParams['font.sans-serif'] = 'SimHei'
input_values = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
3.其他常用字体的设置(替换SimHei即可):
SimSun :宋体;KaiTI:楷体;Microsoft YaHei:微软雅黑
LiSu:隶书;FangSong:仿宋;Apple LiGothic Medium:苹果丽中黑;
注意:字体是计算机显示字符的方式,均由人工设计,用字体库的方式部署在计算机中。