matplotlib 绘图坐标定位器 笔记

本文主要探讨了在matplotlib库中如何使用坐标定位器(Locator)来精确控制图表的轴刻度,包括设置刻度间隔、自定义定位策略等,帮助提升数据可视化效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

#显示绘图中的中文
font = {'family':'SimHei',
        'weight':'bold',
        'size':'12'}
plt.rc('font', **font)
plt.rc('axes', unicode_minus=False)

# 获取当前坐标轴
#ax = plt.gca()
# 设置水平坐标轴的主刻度定位器
#ax.xaxis.set_major_locator(plt.NullLocator(1))#主刻度不显示
#设置水平坐标轴的次刻度定位器为多点定位器,间隔0.1
#ax.xaxis.set_minor_locator(plt.MultipleLocator(0.1))#间隔0.1

#案例
Locators = ['plt.NullLocator()',
            'plt.MaxNLocator(nbins = 4)',
            'plt.FixedLocator([3,6,9])',
            'plt.AutoLocator()']

plt.figure('Locators',facecolor='lightgray')

for i ,locator in enumerate(Locators):
    plt.subplot(len(Locators),1,i+1)
    #x轴的可视范围
    plt.xlim(1,10)
    #获取当前坐标轴
    ax = plt.gca()

     # 设置水平坐标轴的主刻度定位器
    ax.xaxis.set_major_locator(plt.Mu
### 如何在Matplotlib中设置或修改纵坐标PythonMatplotlib库中,可以通过多种方法来设置或修改图表中的纵坐标。这不仅限于更改刻度标签的位置和样式,还包括设定具体的数值范围。 对于调整纵坐标的刻度位置与格式化显示而言,`yticks()` 函数提供了极大的灵活性[^2]。此函数允许指定新的刻度位置以及对应的标签列表。例如: ```python import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() y = np.linspace(-2 * np.pi, 2 * np.pi, 100) ax.plot(y, np.sin(y)) # 修改纵坐标刻度 new_ticks_position = [-1, -0.5, 0, 0.5, 1] ax.set_yticks(new_ticks_position) plt.show() ``` 当需要更精确控制坐标轴范围时,则可以利用 `set_ylim(bottom=None, top=None)` 方法来自定义上下界限值[^4]。这里是一个简单的例子展示如何限定Y轴的最大最小可见区间: ```python import matplotlib.pyplot as plt from math import sin x_values = range(0, 10) y_values = [sin(i / 2.) for i in x_values] plt.plot(x_values, y_values) plt.ylim(-1.5, 1.5) # 设定 Y 轴取值范围为 (-1.5 ~ +1.5) plt.show() ``` 另外,在某些情况下可能希望增加额外的次级网格线以辅助阅读图形细节;这时可通过访问 Axes 对象并调用其属性来进行配置[^5]。如下所示代码片段实现了这一功能: ```python import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() major_locator = MultipleLocator(base=0.5) # 主要定位器间隔设为 0.5 单位长度 minor_locator = MultipleLocator(base=0.1) # 次级定位器间隔设为 0.1 单位长度 ax.yaxis.set_major_locator(major_locator) ax.yaxis.set_minor_locator(minor_locator) plt.grid(True, which='both', linestyle='-', linewidth=0.5) plt.minorticks_on() # 开启次要刻度标记 plt.show() ``` 通过上述几种途径之一即可实现对Matplotlib生成图表内纵坐标的有效管理和定制化呈现效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值