在VMware workstation 上 RHEL8的 matplotlib 上 “这是一个非GUI后端,因此无法显示该图” 的问题解决

问题描述:

今天在学习《Python编程:从入门到实践》中,学习十五章 使用 matplotlib进行各种图形绘制的时候出现了问题耗费大量时间,只是得出一个勉强的解决方案。

在VMware workstation 上 RHEL8 上安装完matplotlib之后用网站上的如下代码进行测试:

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])

plt.plot(xpoints, ypoints)
plt.show()

在输入完代码之后,报错

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
用户警告:Matplotlib当前正在使用agg,这是一个非GUI后端,因此无法显示该图。

解决方法:

网上方法是使用
sudo apt-get install python3-tk
不过 RHEL8 dnf没有这个东西 而且装上
dnf install python3.5-tk

dnf install python3.5-tk
也依旧没用

最后只能修改代码,没有办法可能是 VM 安装虚拟机的缺陷吧。这个问题只能是修改代码绕过。
既然,没有办法在交互界面显示出来那么就直接把结果打印成mygraph.png图片吧 ,然后直接在Linux查看图片
修改代码:

--snip--
plt.plot(xpoints, ypoints)
#plt.show()
plt.savefig("mygraph.png")

linux查询图片

xdg-open mygraph.png
在这里插入图片描述勉强能用吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值