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()

结果为:

在这里插入图片描述

posted @ 2021-12-13 10:59  wuyuan2011woaini  阅读(173)  评论(0编辑  收藏  举报