有没有办法在 matplotlib 图中输入顶部刻度和底部刻度?有时我有数据隐藏刻度,我想只为受影响的一侧设置刻度。
以下代码将同时影响顶部和底部或左右。
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot( 111 )
ax.plot( [0, 1, 3], 'o' )
ax.tick_params( direction = 'out' )
plt.show()
有没有办法在 matplotlib 图中输入顶部刻度和底部刻度?有时我有数据隐藏刻度,我想只为受影响的一侧设置刻度。
以下代码将同时影响顶部和底部或左右。
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot( 111 )
ax.plot( [0, 1, 3], 'o' )
ax.tick_params( direction = 'out' )
plt.show()
您可以有双轴,然后您可以分别设置每一侧的属性:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([0, 1, 3], 'o')
axR = ax.twinx()
axT = ax.twiny()
ax.tick_params(direction = 'out')
axR.tick_params(direction = 'in')
ax.tick_params(direction = 'out')
axT.tick_params(direction = 'in')
plt.show()
从#11859升级后,matplotlib>=3.1.0
我们现在可以通过和使用辅助轴来实现独立的刻度方向:secondary_xaxis
secondary_yaxis
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot( 111 )
ax.plot( [0, 1, 3], 'o' )
ax.tick_params( direction = 'out' )
ax_r = ax.secondary_yaxis('right')
ax_t = ax.secondary_xaxis('top')
ax_r.tick_params(axis='y', direction='in')
ax_t.tick_params(axis='x', direction='inout')
这产生了这个数字: