引入
大家注意一个点,默认的话,y轴不是画在x=0的位置上的,而是画在最左侧,如下图:
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
x = np.arange(-15,15,0.1)
#生成sigmiod形式的y数据
y=1/(1+np.exp(-x))
#设置x、y坐标轴的范围
#绘制图形
plt.plot(x,y,color="r")
plt.show()
你看,y轴在最左侧,中学老师可不是这么教你的,一般y轴就是在x=0的位置。
那么如何实现呢?
解决方案
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist
#######################################
#创建画布
fig = plt.figure(figsize=(20,8))
#使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 111)
#将绘图区对象添加到画布中
fig.add_axes(ax)
#通过set_visible方法设置绘图区所有坐标轴隐藏
ax.axis[:].set_visible(False)
#ax.new_floating_axis代表添加新的坐标轴
ax.axis["x"] = ax.new_floating_axis(0,0)
#添加y坐标轴
ax.axis["y"] = ax.new_floating_axis(1,0)
#设置x、y轴上刻度显示方向
ax.axis["x"].set_axis_direction("top")
ax.axis["y"].set_axis_direction("right")
#############################################
#生成x步长为0.1的列表数据
x = np.arange(-15,15,0.1)
#生成sigmiod形式的y数据
y=1/(1+np.exp(-x))
#设置x、y坐标轴的范围
#绘制图形
ax.plot(x,y,color="r")
plt.show()