我覺得你在這裏混淆的幾件事情:
首先,np.linspace(0.2,6,30)
實際上給出了0.2的間距:
np.linspace(0.2,6,30)
array([ 0.2, 0.4, 0.6, 0.8, 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2,
2.4, 2.6, 2.8, 3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2, 4.4,
4.6, 4.8, 5. , 5.2, 5.4, 5.6, 5.8, 6. ])
如果你想在0.2和6之間的值與0.5間距,你需要使用np.arange
:
np.arange(0.2,6,0.5)
array([ 0.2, 0.7, 1.2, 1.7, 2.2, 2.7, 3.2, 3.7, 4.2, 4.7, 5.2,
5.7])
但是,當你說你的,我的「起點終點0 6間隔1!」認爲你實際上是指圖上X軸的極限?您的代碼目前生產該圖:
您可以通過添加plt.xlim(0.2,6)
更改您的代碼X軸限制爲0.2和6之間。但是,您的標籤仍然是從0到6,我們可以明確地強迫他們是你想要的方式:
import numpy as np
import matplotlib.pyplot as plt
R=input('enter the rate of rainfall in mm/hr ')
#D=np.linspace(0.2,6,30)
D = np.arange(0.2,6,0.5)
n=0.08
l=41*pow(R,(-0.21))
N=n*np.exp(-l*D)
plt.plot(D,N)
plt.xlim(0.2,6)
plt.gca().set_xticks(D) # This
plt.show()
目前尚不清楚是什麼'的出發點0端點6間隔1'手段。也許包括一張圖片和解釋你想要改變什麼會有所幫助。 – cel