因此,似乎在ubuntu for windows(Linux子系统的Linux)上,人们建议我们需要使用Agg后端并只保存图像,而不是显示图.
import matplotlib
matplotlib.use('Agg') # no UI backend
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks')
#plt.show()
plt.savefig("matplotlib.png") #savefig, don't show
Run Code Online (Sandbox Code Playgroud)
我们怎么能把它带到plt.show()实际向我们展示图像的地方?我当前的选择是覆盖plot.show(),而只是在Windows中的/ mnt/c/Users/james/plots /下保存一个plot-148123456.png,只需打开一个浏览器窗口查看图像.
我想我可以托管该文件夹并使用浏览器.
我的目标是能够运行像上面代码这样的简单示例,而无需将代码更改为ftp图像等等.我只是希望绘图显示在窗口中.
有没有人想出一个体面的方法呢?
代码行:
import matplotlib
Run Code Online (Sandbox Code Playgroud)
错误:
ImportError:没有名为'matplotlib'的模块
问题:
which python3.4 % /usr/bin/python3.4
Run Code Online (Sandbox Code Playgroud)
matplotlib安装在哪里?
sudo find /usr | grep matplotlib % /usr/lib/pymodules/python2.7/matplotlib/...
Run Code Online (Sandbox Code Playgroud)
一些考虑:
解决方案:
import sys sys.path.append('/usr/lib/pymodules/python2.7/') (对此不满意).
使用pip3 install matplotlib或sudo pip3 install matplotlib(收到错误,我也不喜欢这个).
使用sudo apt-get install python-matplotlib(可能是完美的,但在python2.7目录中安装matplotlib).
我怎样才能让matplotlib为python3工作?谢谢
完整的错误是:
Traceback (most recent call last):
File "D:\pyqt4_examples\matplotlib.py", line 4, in <module>
import matplotlib.pyplot as plt
File "D:\pyqt4_examples\matplotlib.py", line 4, in <module>
import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib.pyplot'; 'matplotlib' is not a package
Run Code Online (Sandbox Code Playgroud)
测试代码在文件中histogram.py:
import sys
for item in sys.path: print( item )
import random
import matplotlib.pyplot as plt
x = random.sample(range(1000), 30)
xbins = [0, len(x)]
print( "x: " + str( x ) )
print( "xbins: " + str( xbins ) )
plt.bar(range(0,30), x) …Run Code Online (Sandbox Code Playgroud)