我正在尝试绘制一些图形,但是在图形范围内遇到了麻烦。我需要从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()
这是我得到的情节。
答案 0 :(得分:0)
您只需要为x
函数提供plot
值:
plt.plot(x, y, 'r')
如果不这样做,它会假设x值从0开始递增1,这就是为什么x比例从0到50。