How do you make the x-axis pass through (0,0) with matplotlib in Python?

六月ゝ 毕业季﹏ 提交于 2021-01-19 06:15:47

问题


How do I make the horizontal axis pass through the origin?

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()

回答1:


Try with:

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()

The output:



来源:https://stackoverflow.com/questions/44016339/how-do-you-make-the-x-axis-pass-through-0-0-with-matplotlib-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!