绘制变量和函数

问题描述 投票:1回答:1

我试图绘制一个图,我已经定义了我的变量和我的函数,我只是不知道为什么它给了我一个空图

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()
python-2.7 matplotlib
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.