matplotlib中的散点图返回错误

时间:2014-09-25 16:38:14

标签: python matplotlib scatter

我有一堆x和y值,希望分散绘制它们。

plt.scatter(x,y)
savefig('foo.png')

返回以下错误:没有显示名称,没有$ DISPLAY环境变量

我有一种感觉这与我通过我的大学远程运行python的事实有关,所以图像不能“出现”。如果我可以将图像保存到文件中,那对我有效。

1 个答案:

答案 0 :(得分:0)

这是一个完整的工作示例。

import matplotlib.pyplot as plt

# Create your data
x_data = [1,2,3,4,5]
y_data = [5,4,2,3,1]

# Create a figure to hold the plot
fig = plt.figure(figsize=(5,4))     # if you don't define figsize, it should
                                    # still work, depending on your configs

# Create a set of set of axes on the plot (as you might have multiple subplots)
# This says put in an axis at position 1 as if the figure were a 1 by 1 grid
ax = fig.add_subplot(1,1,1)

# Make the scatter plot
ax.scatter(x,y)

# Save the plot
fig.savefig("foo.png")

如果这不起作用,可能发生的事情是你的matplotlib在其后端的某个地方使用X.您可以通过在顶部添加以下内容来强制它:

import matplotlib
# The important line!
matplotlib.use('Agg')
import matplotlib.pyplot as plt

按顺序执行。