我确信matplotlib for python的配置是正确的,因为我用它来绘制一些数字。
但今天它因某种原因停止工作。我用非常简单的代码测试了它,如:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 5, 0.1)
y = np.sin(x)
plt.plot(x, y)
没有错误,但没有显示数字。
我在Ubuntu中使用python 2.6,Eclipse
答案 0 :(得分:58)
在matplotlib中,您有两个主要选项:
创建您的图并在最后绘制它们:
import matplotlib.pyplot as plt
plt.plot(x, y)
plt.plot(z, t)
plt.show()
创建绘图并在创建后立即绘制它们:
import matplotlib.pyplot as plt
from matplotlib import interactive
interactive(True)
plt.plot(x, y)
raw_input('press return to continue')
plt.plot(z, t)
raw_input('press return to end')
答案 1 :(得分:22)
您必须在最后使用plt.show()
才能看到情节
答案 2 :(得分:5)
答案 3 :(得分:4)
将图表保存为png
plt.savefig("temp.png")
答案 4 :(得分:0)
当你在代码中完成所有初始化时,你必须使用show()
方法才能看到剧情的complet版本:
import matplotlib.pyplot as plt
plt.plot(x, y)
................
................
plot.show()
答案 5 :(得分:0)
plt.plot(X,y)
函数仅在画布上绘制图。为了查看图,您必须在plt.show()
之后指定plt.plot(X,y)
。所以,
import matplotlib.pyplot as plt
X = //your x
y = //your y
plt.plot(X,y)
plt.show()
答案 6 :(得分:0)
import numpy as np
import matplotlib.pyplot as plt
x1 = 5 * np.random.rand(50)
x2 = 5 * np.random.rand(50) + 25
x3 = 30 * np.random.rand(25)
x = np.concatenate((x1, x2, x3))
y1 = 5 * np.random.rand(50)
y2 = 5 * np.random.rand(50) + 25
y3 = 30 * np.random.rand(25)
y = np.concatenate((y1, y2, y3))
color_array = ['b'] * 50 + ['g'] * 50 + ['r'] * 25
plt.scatter(x, y, s=[50], marker='D', c=color_array)
plt.show()