我目前正在尝试切换到python。目前我正在尝试重现我用gnuplot绘制的图表(来自gnuplot的图是附加的)在python中。 但是,当我尝试用python做类似的事情时,我的情节完全是黑色的。我看过类似的问题并试过pcolormesh和imshow。两者都有相同的结果。但是,没有错误消息。这是我的最小代码示例:
`
import numpy as np
import matplotlib.pyplot as plt
def f(m,p):
return ((m-1)**2*(1-p)*p)/(1+(m-1)*p)**2
m = np.arange(0.0,10.0,100.0)
p = np.arange(0.0,0.1,1.0)
X,Y = np.meshgrid(m, p)
Z =f(X,Y)
plt.pcolormesh(X,Y,Z)
plt.show()
可能,我做了一些初学者的错误。但是,如果有人能指出我,我会非常感激。提前谢谢。
答案 0 :(得分:1)
numpy.arange([start, ]stop, [step, ]dtype=None)
步骤:数字,可选
值之间的间距。对于任何输出,这是距离 在两个相邻值之间,out [i + 1] - out [i]。默认步长 是1.如果指定了步骤,则还必须开始。
所以np.arange(0.0,10.0,100.0)
等于[0]
。
我想也许这就是你想要的:
import numpy as np
import matplotlib.pyplot as plt
def f(m,p):
return ((m-1)**2*(1-p)*p)/(1+(m-1)*p)**2
m = np.arange(0.0,100.0,10.0)
p = np.arange(0.0,1.0,0.1)
X,Y = np.meshgrid(m, p)
Z =f(X,Y)
plt.pcolormesh(X,Y,Z)
plt.show()
你会得到:
希望这有帮助。