Matplotlib中修改坐标轴刻度线的属性

在matplotlib中,刻度线叫tick,刻度值叫tick_label
在这里插入图片描述
注意这幅图片中就包含了关于刻度线的一些信息。比方,不仅有主刻度线(Major tick),还有次刻度线(Minor tick)。并且我们看到刻度线都是朝着图的外侧。图中,上边的和右边的坐标轴(Spine)并没有刻度线。

是否显示次刻度线

在pylab中内置了两个函数minorticks_on()minorticks_off()用来确定是否显示次刻度线。
如下代码实现在左侧图中显示次刻度线,在右侧不显示次刻度线。在默认的情况下,不显示次刻度线。

plt.subplot(121)
plt.minorticks_on()
plt.subplot(122)
plt.minorticks_off()
plt.show()

在这里插入图片描述

刻度线的朝向

一般而言,我们希望刻度线朝外分布,这样避免影响图中的曲线和说明。但是有时候刻度线朝内分布,可以让图之间更加紧凑。在pylab中,利用tick_params控制刻度线的朝向,是朝图里,图外,还是都有。下面代码产生的图从左往右,分别显示朝里,朝外,两边都有的情况。

plt.subplot(131)
plt.tick_params(direction='in')

plt.subplot(132)
plt.tick_params(direction="out")

plt.subplot(133)
plt.tick_params(direction='inout')

plt.show()

在这里插入图片描述

选择修改主刻度线还是次刻度线

通过上面的例子可以看出,修改刻度线的主要函数就是tick_params。那么每次调用这个函数,是修改主刻度线、次刻度线,还是都改呢?这个由参数which控制。比方下面这段代码,分别让主刻度线朝里、次刻度线朝里、主次均朝里。最后一个图说明默认情况下,主次刻度线均朝外。

plt.subplot(141)
plt.minorticks_on()
plt.tick_params(which='magor',direction='in')

plt.subplot(142)
plt.minorticks_on()
plt.tick_params(which='minor',direction='in')

plt.subplot(143)
plt.minorticks_on()
plt.tick_params(which='both',direction='in')

plt.subplot(144)
plt.minorticks_on()
plt.text(0.5,0.5,'default')

plt.show()

在这里插入图片描述

修改刻度线的长度和宽度

如上图,如果觉得刻度线太短,太细,不太显眼,我们可以修改其长短、粗细。依然使用函数tick_params,通过参数widthlength控制。下面代码让左图的主刻度线粗一些,右图的次刻度线长一些。

plt.subplot(121)
plt.minorticks_on()
plt.tick_params(which='major',width=4)

plt.subplot(122)
plt.minorticks_on()
plt.tick_params(which='minor',length=10)

plt.show()

在这里插入图片描述

在哪些轴上显示刻度线

我们来看怎么控制刻度线出现在哪些轴上。这里用参数leftright,bottom,top`来控制,下面代码画出的图片,依次显示上下左右轴上的刻度线。(自己实验的,默认左边和下边是开启的 )

plt.subplot(1,4,1)
plt.tick_params(top=True,bottom=False,left=False,right=False)

plt.subplot(1,4,2)
plt.tick_params(top=False,bottom=True,left=False,right=False)

plt.subplot(1,4,3)
plt.tick_params(top=False,bottom=False,left=True,right=False)

plt.subplot(1,4,4)
plt.tick_params(top=False,bottom=False,left=False,right=True)

plt.show()

在这里插入图片描述

在哪些轴上显示刻度值

注意上面的图,刻度线分别出现在我们控制的坐标轴上,但是刻度值在默认情况下还是出现在左下两个轴上。这里仅说明如何让刻度值出现在相应刻度线的位置。比方,我们仅让上面的轴显示刻度线,也仅在该轴上显示刻度值,利用labelbottom, labeltop, labelleft, labelright四个参数控制,代码和图如下所示。

plt.tick_params(top=True,bottom=False,left=False,right=False)
plt.tick_params(labeltop=True,labelleft=False,labelright=False,labelbottom=False)

在这里插入图片描述

  • 32
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值