我正在尝试绘制一个数字,我已经定义了我的变量和我的功能,我只是不知道为什么它给了我一个空的情节
from __future__ import division
import numpy as np
import math
import matplotlib.pyplot as plt
num= 1e13
nuM= 1e16
N= 100
def f(nuj):
return nuj**2
for j in range(N):
nuj = num*(nuM/num)**(j/N)
print nuj
print f(nuj)
plt.xscale('log')
plt.yscale('log')
plt.xlim(1e10, 1e20)
plt.ylim(1e27, 1e33)
plt.plot(nuj, f(nuj))
plt.show()
答案 0 :(得分:0)
您通常会定义要直接绘制为numpy数组的值。
nuj = num*(nuM/num)**(np.arange(N)/N)
这可以确保绘图中存在所有值,而不是只有一个值。
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
num= 1e13
nuM= 1e16
N= 100
def f(nuj):
return nuj**2
nuj = num*(nuM/num)**(np.arange(N)/N)
plt.xscale('log')
plt.yscale('log')
plt.xlim(1e11, 1e18)
plt.ylim(1e26, 1e33)
plt.plot(nuj, f(nuj))
plt.show()