matplotlib笔记

一、安装matplotlib总是超时导致失败

鉴于公司内网服务器上直接pip install matplotlib容易超时退出的问题,可以采用下面的方法解决:
方法一:指定更新源
pip install -i Simple Index matplotlib==3.2.2
注意选择3.2.2,因为最新版本3.3.1容易报以下错误:
matplotlib笔记_第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本地时总是无法正常显示中文,如下图所示:
matplotlib笔记_第2张图片

二、解决办法:
在python文件的开头处,加入:

plt.rcParams['font.sans-serif'] = ['simhei']

(这里首先要确保在linux服务器上matplotlib的simhei字体存在,如果不存在,就去http://fontzone.net/download/simhei下载字体,然后放在matplotlib的font文件夹下。)
查看matplotlib的font文件夹所在位置的方式是:
在这里插入图片描述

通过上面两个命令,可以找到我开发机上matplotlib的font文件夹地址是:
在这里插入图片描述

另外,删除matplotlib缓存文件:
$ cd ~/.cache/matplotlib

$ rm -rf .

最后生成的图片终于显示正常了:

四、

参考文献

  • https://www.cnblogs.com/shenpings1314/p/9413646.html

你可能感兴趣的:(python,matplotlib,python,开发语言)