前言
Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ? 自我介绍 ?(?ˊ?ˋ)? 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖…已保研。目前正在学习C++/Linux/Python 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! ? 初学Python 小白阶段 文章仅作为自己的学习笔记 用于知识体系建立以及复习 题不在多 学一题 懂一题 知其然 知其所以然!
解决方法
这个问题自己还是困扰了挺久,最开始的时候在菜鸟教程中找到了一个解决办法
虽然可以解决中文乱码问题,但是每次使用中文时都需要设置字体类型,非常麻烦
然后在百度找到了一些方法,发现写的不是很明白,以及遇到了一些坑
这里总结一下,分享给小伙伴
步骤1
如果之前安装了Matplotlib库,建议先卸载,重新装一遍
海轰之前按照教程 一次都没有成功 后面重新安装了一次Matplotlib 一下就成功了!
卸载
pip3 uninstall Matplotlib
安装
pip3 install Matplotlib
步骤2
下载中文字体
ttf格式就可以
具体可以百度搜索 或者 找海轰要字体安装包也可以
然后解压出来(解压出啥就可以 不用重命名)
步骤3
找到Matplotlib的安装位置 (这个就自己找了吧)
# 海轰的安装位置
/Users/haihong/Library/Python/3.7/lib/python/site-packages
进入Matplotlib文件夹,找到mpl-data文件夹 进入Matplotlib文件夹,找到fonts文件夹 进入fonts,找到ttf文件夹 将下载好的字体粘贴到这里 然后双击字体,选择安装这个字体(重点!)
步骤4
在mpl-data文件夹中找到matplotlibrc 以文本编辑打开这个文件 找到font.family(使用command+f查找即可)
然后去除前面的#号
这里显示的去除后的,本来前面有一个#号
然后找到font.sans-serif
同样也是去除前面的#号
这里是去除后的图片
然后在最后添加Microsoft YaHei
保存文件后,退出
步骤5
这样一来,每次只需要添加下面两句代码,就可以正确显示中文啦
font = {
"family": "Microsoft YaHei"
}
matplotlib.rc("font", **font)
重启编译器,测试中文是否显示正确
测试代码:
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import leastsq
font = {
"family": "Microsoft YaHei"
}
matplotlib.rc("font", **font)
plt.figure(figsize=(9, 9))
X = np.array([8.19, 2.72, 6.39, 8.71, 4.7, 2.66, 3.78])
Y = np.array([7.01, 2.78, 6.47, 6.71, 4.1, 4.23, 4.05])
# 计算以p为参数的直线与原始数据之间误差
def f(p):
k, b = p
return (Y - (k * X + b))
# leastsq使得f的输出数组的平方和最小,参数初始值为[1,0]
r = leastsq(f, [1, 0])
k, b = r[0]
plt.scatter(X, Y, s=100, alpha=1.0, marker='o', label=u'数据点')
x = np.linspace(0, 10, 1000)
y = k * x + b
ax = plt.gca()
plt.plot(x, y, color='r', linewidth=5, linestyle=":", markersize=20, label=u'拟合曲线')
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize='xx-large')
plt.xlabel(u'安培/A')
plt.ylabel(u'伏特/V')
plt.xlim(0, x.max() * 1.1)
plt.ylim(0, y.max() * 1.1)
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.legend(loc='upper left')
plt.show()
注:如果还是不成功,就再卸载Matplotlib,重新安装一遍,然后按照前面的步骤做一遍,基本上就可以了
结语
文章仅作为学习笔记,记录从0到1的一个过程
希望对您有所帮助,如有错误欢迎小伙伴指正~
我是 海轰?(?ˊ?ˋ)?
如果您觉得写得可以的话,请点个赞吧
谢谢支持 ??
|