绘制变量和函数

时间:2017-12-20 18:24:12

标签: python-2.7 matplotlib

我正在尝试绘制一个数字,我已经定义了我的变量和我的功能,我只是不知道为什么它给了我一个空的情节

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()

1 个答案:

答案 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()

enter image description here