文章目录
一、安装matplotlib总是超时导致失败
鉴于公司内网服务器上直接pip install matplotlib容易超时退出的问题,可以采用下面的方法解决:
方法一:指定更新源
pip install -i Simple Index matplotlib==3.2.2
注意选择3.2.2,因为最新版本3.3.1容易报以下错误:
方法二:将超时设置得更大些:
pip --default-timeout=100 install -U matplotlib==3.2.2
二、如何画多个图
#plot 1:
fig = plt.figure(figsize=(10,20))#宽,高
plt.subplot(4, 1, 1)
plt.plot(thresholds, F, '-b')
plt.plot([best_th], [best_score], '*r')
plt.plot([thresholds[index]], [F[index]], '*r')
plt.xlabel("thresholds")
plt.ylabel("F1")
plt.title("thresholds-F1")
#plot 2:
plt.subplot(4, 1, 2)
plt.plot(thresholds, recall, '-b')
plt.plot([thresholds[index]], [recall[index]], '*r')
plt.xlabel("thresholds")
plt.ylabel("recall")
plt.title("thresholds-recall")
#plot 3:
plt.subplot(4, 1, 3)
plt.plot(thresholds, precision, '-b')
plt.plot([thresholds[index]], [precision[index]], '*r')
plt.xlabel("thresholds")
plt.ylabel("precision")
plt.title("thresholds-precision")
#plot 4:
plt.subplot(4, 1, 4)
plt.plot(precision, recall, '-b')
plt.plot([precision[index]], [recall[index]], '*r')
plt.xlabel("precision")
plt.ylabel("recall")
plt.title("precision-recall")
plt.suptitle("RUNOOB subplot Test")
plt.show()
三、matplotlib生成的图片,中文总是显示乱码
一、问题现象
我在linux服务器上用matplotlib生成的图片,导出到mac本地时总是无法正常显示中文,如下图所示:
二、解决办法
在python文件的开头处,加入:
plt.rcParams['font.sans-serif'] = ['simhei']
(这里首先要确保在linux服务器上matplotlib的simhei.ttf字体存在,如果不存在,就去http://fontzone.net/download/simhei下载字体,然后放在matplotlib的font文件夹下。)
查看matplotlib的font文件夹所在位置的方式是:
import matplotlib
matplotlib.matplotlib_fname()
通过上面两个命令,可以找到我开发机上matplotlib的font文件夹地址是:
~/anaconda3/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/
把simhei.ttf放到上面这个文件夹即可。
另外,删除matplotlib缓存文件:
rm -rf ~/.cache/matplotlib
最后生成的图片终于显示正常了:
四、参考文献
- https://www.cnblogs.com/shenpings1314/p/9413646.html