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,也可以设置刻度的背景、透明度等。