matplotlib的使用——坐标能见度设置
坐标能见度设置常用函数
set_bbox方法
对坐标进行透明度设置的关键性代码是:
for label in ax.get_xticklabels() + ax.get_yticklabels(): label.set_fontsize(12) label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.7, zorder=2))
该代码的执行顺序是首先获取x轴和y轴的坐标tick的标签labels,然后设置字体的大小为12,之后使用set_bbox方法,传入一个字典,字典的参数可以包含以下部分:
1、facecolor:代表其前景色。
2、edgecolor:代表其边框颜色。
3、alpha:代表透明度为多少,float型0~1。
4、zorder:是图层次序的关键参数,越大表示在越上层,越小表示在越底层,其含义与PowerPoint内的图层次序类似,因此不仅要设置labels的zorder,还要设置线的zorder。
plt.plot(x,y1,zorder = 1)
应用示例
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1,1,50) y1 = 5*x**2 - 1 plt.xlim((-1,1)) plt.ylim((-2,5)) newTicks = np.linspace(-1,1,11) plt.xticks(newTicks) # y轴字体差别,设置成斜体 plt.yticks([-2,-1.0,0,1.5,3], [r'$really\ bad$',r'$little\ bad$',r'$normal$',r'$little\ good$',r'$pretty\ good$']) plt.plot(x,y1,zorder = 1) # 获得当前的axis ax = plt.gca() # 设置图像的上边、右边axis为无色 ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') # 设置x轴坐标在下部 ax.xaxis.set_ticks_position('bottom') # 设置x轴位于图像y=0处 ax.spines['bottom'].set_position(('data', 0)) # 设置x轴坐标在左部 ax.yaxis.set_ticks_position('left') # 设置y轴位于图像x=0处 ax.spines['left'].set_position(('data',0)) for label in ax.get_xticklabels() + ax.get_yticklabels(): label.set_fontsize(12) label.set_bbox(dict(facecolor='white', edgecolor='none', alpha=0.7, zorder=2)) plt.show()
结果为:
天道酬勤 循序渐进 技压群雄