0.99版本新增Spines对象

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. def adjust_spines(ax,spines):
  4. for loc, spine in ax.spines.items():
  5. if loc in spines:
  6. spine.set_position(('outward',10)) # outward by 10 points
  7. else:
  8. spine.set_color('none') # don't draw spine
  9. # turn off ticks where there is no spine
  10. if 'left' in spines:
  11. ax.yaxis.set_ticks_position('left')
  12. else:
  13. # no yaxis ticks
  14. ax.yaxis.set_ticks([])
  15. if 'bottom' in spines:
  16. ax.xaxis.set_ticks_position('bottom')
  17. else:
  18. # no xaxis ticks
  19. ax.xaxis.set_ticks([])
  20. fig = plt.figure()
  21. x = np.linspace(0,2*np.pi,100)
  22. y = 2*np.sin(x)
  23. ax = fig.add_subplot(2,2,1)
  24. ax.plot(x,y)
  25. adjust_spines(ax,['left'])
  26. ax = fig.add_subplot(2,2,2)
  27. ax.plot(x,y)
  28. adjust_spines(ax,[])
  29. ax = fig.add_subplot(2,2,3)
  30. ax.plot(x,y)
  31. adjust_spines(ax,['left','bottom'])
  32. ax = fig.add_subplot(2,2,4)
  33. ax.plot(x,y)
  34. adjust_spines(ax,['bottom'])
  35. plt.show()

Spines对象绘图示例

参考

此示例中显示了以下函数,方法,类和模块的使用:

  1. import matplotlib
  2. matplotlib.axis.Axis.set_ticks
  3. matplotlib.axis.XAxis.set_ticks_position
  4. matplotlib.axis.YAxis.set_ticks_position
  5. matplotlib.spines
  6. matplotlib.spines.Spine
  7. matplotlib.spines.Spine.set_color
  8. matplotlib.spines.Spine.set_position

下载这个示例