javaee论坛

普通会员

225648

帖子

335

回复

349

积分

楼主
发表于 2019-10-30 14:38:32 | 查看: 101 | 回复: 3

tf好朋友之matplotlib的使用——坐标能见度设置坐标能见度设置常用函数set_bbox方法应用示例

坐标太多挡住其它标记,挡住彼此怎么办!那必然是,给他们一个透明度啊!

坐标能见度设置常用函数set_bbox方法

对坐标进行透明度设置的关键性代码是:

forlabelinax.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)应用示例importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(-1,1,50)y1=5*x**2-1plt.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)#获得当前的axisax=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))forlabelinax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(12)label.set_bbox(dict(facecolor='white',edgecolor='none',alpha=0.7,zorder=2))plt.show()

结果为:


普通会员

0

帖子

306

回复

311

积分
沙发
发表于 2019-11-11 10:17:09

围观

普通会员

0

帖子

290

回复

298

积分
板凳
发表于 2023-11-01 17:58:14

楼主听话,快到碗里来!

普通会员

0

帖子

291

回复

301

积分
地板
发表于 2024-03-28 10:37:23

专业抢二楼!顺便笑摸狗头(3L)

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017