matplotlib 坐标轴刻度能见度问题

matplotlib 画图时如果图像太大就会挡住了坐标轴,刻度就看不到了。可以利用zorder设置level,level越小越先绘制。

例子:

 1 import matplotlib.pyplot as plt
 2 import numpy as np
 3 
 4 x = np.linspace(-3,3,50)
 5 y = 0.5*x
 6 plt.plot(x,y,lw=10,zorder=1)
 7 
 8 #将坐标原点放在中心位置
 9 ax = plt.gca()
10 #右边上边的边界透明
11 ax.spines['right'].set_color('none')
12 ax.spines['top'].set_color('none')
13 ax.xaxis.set_ticks_position('bottom')
14 ax.yaxis.set_ticks_position('left')
15 ax.spines['bottom'].set_position(('data',0))
16 ax.spines['left'].set_position(('data',0))
17 
18 
19 for label in ax.get_xticklabels()+ax.get_yticklabels():
20     label.set_fontsize(12)
21     label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.7))
22     label.set_zorder(2)
23 
24 plt.show()

先plot图像再绘制坐标轴,分别设置不同的zorder,也可以设置刻度的背景、透明度等。

 

posted @ 2018-07-23 18:07  阅历即魅力  阅读(469)  评论(0编辑  收藏  举报