zoukankan      html  css  js  c++  java
  • 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()
    

    运行结果

  • 相关阅读:
    java学习笔记
    androd Sdk manager配置
    50ms延时程序
    89c51中断入口地址表
    打印杨辉三角--队列的应用
    栈的应用--括号匹配
    哈夫曼编码---数据压缩
    PS转手绘
    数据结构学习思路
    第三届蓝桥杯省赛---第39级台阶
  • 原文地址:https://www.cnblogs.com/zjx-pku/p/13172797.html
Copyright © 2011-2022 走看看