使用NumPy Linspace指定图形范围

时间:2018-11-17 10:28:09

标签: python-3.x numpy matplotlib jupyter-notebook

我正在尝试绘制一些图形,但是在图形范围内遇到了麻烦。我需要从x = 50绘制到x = 200,但是该图没有给出我想要的范围。

这是我的代码。

import numpy as np
import matplotlib.pyplot as plt

Nc = 2.8 * 10**19 #Effective density of states in conduction band
Nd = 10**16 #Effective density of states in valence band
Ei = 0.045 #ionization energy of Boron
k = 8.62 * 10 **(-5) #Boltzmann's constant


x = np.linspace(50, 200)
y = 1 / (1 + ( Nc * np.exp(-Ei/( k * x )) ) / (2 * Nd ) )

plt.plot(y, 'r')
plt.xlabel("T in kelvin")
plt.ylabel("Ratio")
plt.title("Exercise 4.3")

plt.show()

这是我得到的情节。

enter image description here

1 个答案:

答案 0 :(得分:0)

您只需要为x函数提供plot值:

plt.plot(x, y, 'r')

如果不这样做,它会假设x值从0开始递增1,这就是为什么x比例从0到50。