0

我的目标是生成 Y 与 X 的图。当我运行以下命令时,我得到的是 X 的图和 Y 的图:

import numpy as np
import matplotlib.pyplot as plt
X = [x for x in np.arange(.8, 1.2, .05)]
Y = [getm(v) for v in X]
plt.plot(X, Y, '-o')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid()
plt.savefig('test.png')
plt.show()

我的脚本有什么问题?

4

1 回答 1

0

您的函数 getm 的结果必须超过一个值。我使用以下代码进行验证:

import matplotlib.pyplot as plt
import numpy

x = numpy.arange(0.8, 1.2, 0.05)
y1 = [x_val**2 for x_val in x]
y2 = [ [x_val**2, x_val**3] for x_val in x]
y3 = [ [x_val**2] for x_val in x]

plt.subplot(131)
plt.plot(x, y1)
plt.subplot(132)
plt.plot(x, y2)
plt.subplot(133)
plt.plot(x, y3)

plt.show()

结果如下: 在此处输入图像描述

于 2012-07-15T15:35:11.007 回答