[英]matplotlib plot creation very slow on a headless server
我在家庭服务器上运行Ubuntu 14.04(服务器版),并且安装了Python 2.7.6,并使用TkAgg作为后端的matplotlib 1.3.1。 我正在通过ssh -Y连接到它。
我遇到的问题是绘图对象的创建非常缓慢。 因此,例如:
import matplotlib.pyplot as plt
x=[0,1,2,3,4]
y=[0,1,4,9,16]
plt.plot(x,y)
该代码需要大约一秒钟的时间才能运行大约10秒钟。 请注意,它甚至没有显示图,如果我添加plt.show()
,则时间没有明显差异。 在python解释器中或从文件中运行代码也没有区别。 一旦等待足够长的时间,该图就会显示在本地屏幕上。 同时绘制5点或50点似乎没有任何区别。
有任何想法吗?
为了以@Paul H的答案为基础,此代码将绘图输出为SVG图形,然后使用外部feh
实用程序将其显示。
设置后端很重要-有关更多信息,请参阅什么是后端 。
import matplotlib
# see http://matplotlib.org/faq/usage_faq.html#what-is-a-backend
matplotlib.use('Svg')
import os
import matplotlib.pyplot as plt
x=[0,1,2,3,4]
y=[0,1,4,9,16]
plt.plot(x,y)
plt.savefig('plot.svg')
os.system('feh plot.svg') # or "eog" for Gnome
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.