首页编程开发Matplotlib【数据可视化(Matplo...

【数据可视化(Matplotlib篇)】9.调整坐标轴的刻度样式

本系列文章配套代码获取有以下两种途径:

  • 通过百度网盘获取:
链接:https://pan.baidu.com/s/1jG-rGG4QMuZu0t0kEEl7SA?pwd=mnsj 提取码:mnsj
  • 前往GitHub获取
https://github.com/returu/Data_Visualization





Matplotlib中除了可以对坐标轴的刻度范围、刻度标签自定义外,还可以对坐标轴刻度样式进行自定义,例如,刻度大小、颜色、方向等。

Matplotlib使用tick_params()函数设定坐标轴的刻度样式,语法如下:

plt.tick_params(axis='both' , **kwargs)

常用参数主要分为三大类,具体内容如下所示:

1.刻度属性参数

  • axis=’both’选项参数,表示此刻度同时应用在x轴和y轴,如果单独设定axis=’x’,表示应用在x轴;如果单独设定axis=’y’,表示应用在y轴,默认是同时应用在x轴和y轴;
  • which作用于哪个刻度线,取值为:major(主要刻度线;默认) 、 minor(次要刻度线)、 both(主要和次要刻度线)。需要通过plt.minorticks_on()函数显示次要刻度线,该参数才起作用;
  • direction:可以是in、out或inout,默认是out,表示刻度在坐标轴外侧,in表示刻度在坐标轴内侧,inout表示刻度跨越坐标轴。
  • length:刻度的长度,单位是点数。
  • width:刻度的宽度,单位是点数。
  • color:刻度的颜色。

示例代码如下所示:

x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

# 显示次要刻度线
plt.minorticks_on()

# 设定x轴的刻度样式
plt.tick_params(axis='x' , # 应用在x轴
                which='minor'# 应用在次要刻度线
                direction='inout' , # 刻度跨越坐标轴
                length=6 , # 刻度的长度
                width=1 ,  # 刻度的宽度
                color='r' , # 刻度的颜色
               )

# 设定y轴的刻度样式
plt.tick_params(axis='y' ,  # 应用在y轴
                which='major'# 应用在主要刻度线
                direction='in' ,  # 刻度在坐标轴内侧
                length=10 , # 刻度的长度
                width=2 ,  # 刻度的宽度
                color='b' , # 刻度的颜色
               )

plt.show()

可视化效果如下图所示:

2.刻度标签属性参数:

  • pad:刻度(tick)和刻度标签(label)的距离,单位是点数。
  • labelsize:刻度标签的字号,单位是点数。也可以使用large等字符串。
  • labelcolor:刻度标签的颜色。
  • bottom, top, left,right 布尔值,是否绘制相对应的刻度,默认绘制left和bottom的刻度
  • labelbottom, labeltop, labelleft, labelright布尔值,是否绘制相对应的刻度标签,默认绘制labelleft和labelbottom的
  • labelrotation刻度标签的旋转角度;

示例代码如下所示:

x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

# 设定x轴的刻度样式
plt.tick_params(axis='x' , # 应用在x轴
                pad = 20 ,  # 刻度(tick)和刻度标签(label)的距离
                labelsize=12 , # 刻度标签的字号
                labelcolor='b' , # 刻度标签的颜色
                top=True , # 绘制上方的刻度
                labeltop=True , # 绘制上方的刻度标签
                bottom=False , # 不绘制底部的刻度
                labelbottom=False  # 不绘制底部的刻度标签
               )

# 设定y轴的刻度样式
plt.tick_params(axis='y' ,  # 应用在y轴
                labelcolor='y' ,  # 刻度标签的颜色
                right=True ,  # 绘制右侧的刻度
                labelright=True ,  # 绘制右侧的刻度标签
                left=False ,  # 不绘制左侧的刻度
                labelleft=False , # 不绘制左侧的刻度标签
                labelrotation=45  # 刻度标签的旋转角度
               )

plt.show()

化效果如下图所示:

3.网格线属性参数:

需要通过plt.grid()函数显示网格线后,该参数才起作用;

  • gird_color:与坐标轴垂直的网格线的颜色;

  • grid_alpha网格线的透明度;

  • grid_linewidth网格线的线条粗细;

  • grid_linestyle网格线的线条类型。

示例代码如下所示:

x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

plt.grid()

# 设定x轴的刻度样式
plt.tick_params(axis='x' , # 应用在x轴
                grid_color='y'# 纵向网格线的颜色
                grid_alpha=0.3# 网格线的透明度
                grid_linewidth=5# 网格线的线条粗细
                grid_linestyle=':' # 网格线的线条类型
               )

# 设定y轴的刻度样式
plt.tick_params(axis='y' ,  # 应用在y轴
                grid_color='m'# 纵向网格线的颜色
                grid_alpha=0.3# 网格线的透明度
                grid_linewidth=5# 网格线的线条粗细
                grid_linestyle='-.' # 网格线的线条类型
               )

plt.show()

可视化效果如下图所示:


更多内容可以前往官网查看

https://matplotlib.org/stable/


本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments