其实具体说来官方文档里面没有具体提及文章里面的内容,但是出现了相关的代码。
在实例化一个Axes对象之后,可以通过调用:
Axes.spines["top/left/bottom/right"]
来获取上、左、底、右的坐标脊实例。
得到坐标脊实例之后,可以使用相关方法个性化设置坐标脊的性质。
set_visible设置坐标脊是否可见
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator,FuncFormatter
x = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)
fig,ax=plt.subplots(figsize=(8,8))
# 设置坐标轴样式
# --------------------------------------------------------
def major_tick(x,pos):
if (x==0):
return "0"
if(x==np.pi):
return "π"
else:
return "%dπ"%(x/3.14)
ax.xaxis.set_major_locator(MultipleLocator(np.pi))
ax.xaxis.set_major_formatter(FuncFormatter(major_tick))
# --------------------------------------------------------
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
ax.plot(x,y)
plt.show()
set_position设置坐标轴的位置
import numpy as np
import matplotlib.pyplot as pl
tfrom matplotlib.ticker import MultipleLocator,FuncFormatte
rx = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)
fig,ax=plt.subplots(figsize=(8,8))
# 设置坐标轴样式
# --------------------------------------------------------
def major_tick(x,pos):
if (x==0):
return "0"
if(x==np.pi):
return "π"
else:
return "%dπ"%(x/3.14)
ax.xaxis.set_major_locator(MultipleLocator(np.pi))
ax.xaxis.set_major_formatter(FuncFormatter(major_tick))
# --------------------------------------------------------
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
ax.spines["right"].set_position(("data",0))
ax.spines["bottom"].set_position(("axes",0.5))
ax.plot(x,y)
plt.show()
关于spine的方法还有很多,但是个人觉得作用大的还是上两个方法。