PyCharm之Matplotlib不显示图像(for Mac)

问题

Python环境:3.6.3
Mac系统:10.12.6 macOS Sierra

我用PyCharm使用Matplotlib时候(just for Mac),发现不能显示出图像。但是,我在Eclipse里面使用,却可以正常显示图像。

那么,可以确定的是,我PyCharm出了问题。到底是什么原因呢?


分析、解决

网上找了好几种方法,最后找到了解决办法。
总结一下,那种方法是读者需要的。

  • 法一:没有加入show()方法

解决办法:
测试代码:

import numpy as np
from matplotlib import pyplot as plt

from skimage import data

random_image = np.random.random([500, 500])
print(random_image)
plt.imshow(random_image, cmap='gray')
plt.colorbar()
plt.show()

很明显,我是加入了show()方法的。所以,排除这种方法。


  • 法二:Matplotlib的backend默认设置问题

    找到你下载的Matplotlib的包的文件夹,文件下面有一个叫matplotlibrc的文件。

    用编辑器打开matplotlibrc,然后查找backend的位置。

    然后,你会发现,他采用的是macosx。很明显,不能用这种格式。重点是,他默认是采用”Agg”格式。很明显,不能使用这种格式,而是要换成”TkAgg”格式

这里写图片描述

这里写图片描述

解决办法:
用Vim命令把”macosx”修改为”TkAgg”

很遗憾,即使我修改了,在PyCharm中,依然没法打印出图像。



  • 法三:PyCharm中使用命令修改backend格式

    当然,这种方式是可行的。

解决办法:
在代码的最前面,加入以下代码:

# import matplotlib
# matplotlib.use('TkAgg')

就可以了。

测试代码:

import matplotlib
matplotlib.use('TkAgg')
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(x),np.sin(x)
plt.plot(x,C)
plt.plot(x,S)
plt.show()

这里写图片描述

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值