我试图绘制一个图,我已经定义了我的变量和我的函数,我只是不知道为什么它给了我一个空图
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()
您通常会将值定义为直接绘制为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()