Matplotlib的一些小细节——tick能见度

tick能见度

这里主要指的是标签的能见度

步骤

遍历所有标签

for label in ax.get_xticklabels()+ax.get_yticklabels()

设置标签大小

label.set_fontsize(num)

设置标签属性

label.set_bbox(dict(facecolor=,edgecolor=,alpha=))

  • facecolor:标签颜色
  • edgecolor:标签边缘颜色
  • alpha:透明度

解决标签不显示的问题

设置zorder,让标签显于图像之上

  • 设置图像的zorder
    plt.plot(x,y,linewidth=10,zorder=1)
  • 设置标签的zorder在图像之上
    label.set_zorder(100)

代码实例及运行结果

代码

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,500)
y = 2*x
plt.figure()
plt.plot(x,y,linewidth=10,zorder=1)
#1、设置x,y轴的范围
plt.xlim((-3,3))
plt.ylim((-6,6))
#2、设置x,y轴的标签
plt.xlabel("x")
plt.ylabel("y")
#3、设置坐标轴的单位长度
new_ticks = np.linspace(-3,3,7)  #范围从-3到3,划分为6段
plt.xticks(new_ticks)
#4、自定义value,并更改标签的字体(使用latex语法,注意空格使用转义)
plt.yticks([-6,-2,0,2,6],[r'$very bad$',r'$plain$',r'$very good$',r'$alpha$'])
#5、隐藏上轴和右轴 gca==get current axes
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

#6、设置x轴为下面的轴,设置y轴为左边的轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#7、设置原点的坐标
ax.spines['bottom'].set_position(('data',0))#x轴表示为y=0
ax.spines['left'].set_position(('data',1))  #y轴表示为x=1
#8、设置label的能见度——tick
for label in ax.get_xticklabels()+ax.get_yticklabels():
    label.set_fontsize(12)
    label.set_bbox(dict(facecolor='red',edgecolor='blue',alpha=0.5))
    label.set_zorder(100)
plt.show()

运行结果

原文地址:https://www.cnblogs.com/zjx-pku/p/13172797.html