如何让水平轴穿过原点?
import numpy as np
import matplotlib.pyplot as plt
rateList=[0,0.08,.1,.12,.15,.175,.225,.25,.275,.3,.325,.35]
list1=[-316.8,-424,-2.8,622,658,400,83,16.8,0]
NPV_Profile1=[np.npv(x,list1) for x in rateList]
list2=[-496,-760,84,1050.4,658,400,83,16.8,0]
NPV_Profile2=[np.npv(x,list2) for x in rateList]
plt.plot(rateList,NPV_Profile1,rateList,NPV_Profile2)
plt.show()
答案 0 :(得分:3)
尝试:
import numpy as np
import matplotlib.pyplot as plt
rateList=[0,0.08,.1,.12,.15,.175,.225,.25,.275,.3,.325,.35]
list1=[-316.8,-424,-2.8,622,658,400,83,16.8,0]
NPV_Profile1=[np.npv(x,list1) for x in rateList]
list2=[-496,-760,84,1050.4,658,400,83,16.8,0]
NPV_Profile2=[np.npv(x,list2) for x in rateList]
fig, ax = plt.subplots()
ax.plot(rateList,NPV_Profile1,rateList,NPV_Profile2)
# set the x-spine
ax.spines['left'].set_position('zero')
# turn off the right spine/ticks
ax.spines['right'].set_color('none')
ax.yaxis.tick_left()
# set the y-spine
ax.spines['bottom'].set_position('zero')
# turn off the top spine/ticks
ax.spines['top'].set_color('none')
ax.xaxis.tick_bottom()
plt.show()
输出: