5、maplotlib中的轴刻度和轴线

文章目录

1、轴刻度

解决的问题:有时,一个或几个点比大部分数据大得多。在这种情况下,需要将轴的刻度设置为对数刻度,而不是普通刻度。这就是对数比例尺。在Matplotlib中,可以通过设置axes对象的xscale或vscale属性为’log’来实现。有时也需要在轴号和轴标签之间显示一些额外的距离。可以将任一轴(x或y或两者)的labelpad属性设置为所需的值。通过下面的例子来演示上述两种功能。右边的子图有一个对数刻度,左边的一个子图的x轴有更远的标签。

import matplotlib.pyplot as plt
import numpy as np
# 新建一个画布,该画布有1x2个axes区域
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,5)
# 在第一个axes区域里面作图
axes[0].plot( x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal scale")
# 在第二个axes区域里面作图
axes[1].plot (x, np.exp(x))
axes[1].plot(x, x**2)
# 调用 set_xscale 与 set_yscale 设置刻度,参数选择 “log”,可以将轴的看刻度设置成对数刻度
axes[1].set_yscale("log")
axes[1].set_title("Logarithmic scale (y)")
# 给第一个axes区域设置x轴和y轴名称
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
# 是轴标签和刻度标签之间的距离。
axes[0].xaxis.labelpad = 10
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
plt.show()

axes[0].xaxis.labelpad = 10详解:
这个是设置轴标签与刻度标签之间的距离的,在这里,是左边的图(第一个axes区域)的x轴上的标签与x轴刻度之间的距离,我们分别令其等于10和1,如下图,进行对比可以看到,为1的离得最近。更多详细内容见官方文档。

axes[0].xaxis.labelpad = 10

在这里插入图片描述

axes[0].xaxis.labelpad = 1

在这里插入图片描述

2、轴线

轴线是连接轴线刻度线的线,划定了小区的边界。轴线对象有位于顶部、底部、左侧和右侧的轴线。每条轴心线都可以通过指定颜色和宽度进行格式化。如果将颜色设置为无,则可以将任何边缘设置为不可见。简单来说,以X轴为例,X轴的轴线就是X轴去掉刻度后剩余的直线。轴线用ax.spines[]表示,如下例子所示:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0.2,0.2,0.5,0.5])
# 底部的轴线,设置颜色为蓝色
ax.spines['bottom'].set_color('blue')
# 左边的轴线,颜色设置为红色
ax.spines['left'].set_color('red')
# 左边的轴线,线宽设置为2
ax.spines['left'].set_linewidth(2)
# 右边和顶部的不设置颜色,也就是白色,相当于不显示
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)
ax.plot([1,2,3,4,5])
plt.show()

显示效果如下:
在这里插入图片描述
注:ax = fig.add_axes([0.2,0.2,0.5,0.5])的相关解释点击这里。

猜你喜欢

转载自blog.csdn.net/weixin_45671036/article/details/112554014
今日推荐