matplotlib笔记

一、安装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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值