week4-2-坐标轴

一、plt.xlim / plt.ylim / plt.xticks / plt.yticks

适用 matplotlib,xlim/ylim 控制坐标范围;xticks/yticks 控制刻度位置 + 刻度文字

1. plt.xlim(left, right)

设置X 轴的显示范围,只决定图能看到哪一段,不改变刻度标记。

复制代码
plt.xlim(0,10)  # X轴从0显示到10
plt.xlim(left=0, right=10)
  • 特点:只是 "可视窗口",超出范围的数据会被截断看不见。
  • 等价于 ax.set_xlim ()(面向对象 Axes 写法)

2. plt.ylim(bottom, top)

设置Y 轴显示范围

复制代码
plt.ylim(20, 80) # Y轴下限20,上限80

3. plt.xticks(ticks, labels)

设置 X 轴刻度位置 + 刻度文字

  • ticks:刻度在坐标轴上的坐标值(在哪打点)

  • labels:对应位置显示的文字(可选,不写就直接显示数字)

    在1,2,3,4位置打上刻度,文字是["周一","周二","周三","周四"]

    plt.xticks([1,2,3,4], ["周一","周二","周三","周四"])

    旋转文字防止重叠

    plt.xticks(rotation=45)

4. plt.yticks(ticks, labels)

Y 轴刻度,用法同 xticks

复制代码
plt.yticks([0,20,40,60,80], ["0℃","20℃","40℃","60℃","80℃"])

核心对比

表格

函数 作用
xlim / ylim 坐标轴可见区间(看多大范围)
xticks / yticks 坐标轴刻度标记(在哪显示什么文字)

⚠️ 易错考点:

  1. 改xticks不会改变坐标轴范围 ;改xlim不会新增刻度。
  2. ticks 数组 和 labels 数组长度必须一样,否则报错。
  3. 面向对象写法(Axes):ax.set_xlim()、ax.set_xticks()、ax.set_xticklabels()

完整演示代码(带中文)

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

x = np.arange(1,5)
y = [12,25,18,30]
plt.plot(x,y,marker='o')

# 设置坐标轴范围
plt.xlim(0,5)
plt.ylim(0,35)

# 设置刻度位置和标签
plt.xticks([1,2,3,4],["周一","周二","周三","周四"])
plt.yticks([0,10,20,30],["0","10","20","30"])

plt.title("xlim ylim xticks yticks演示")
plt.show()

Axes 写法(你前面学的 fig.add_axes 配套写法)

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

x = np.arange(1,5)
y = [12,25,18,30]
fig = plt.figure(figsize=(6,4))
ax = fig.add_axes([0.1,0.1,0.8,0.8])
ax.plot(x,y,marker='o')

ax.set_xlim(0,5)
ax.set_ylim(0,35)
ax.set_xticks([1,2,3,4,5])
ax.set_xticklabels(["周一","周二","周三","周四",'周五'])
ax.set_yticks([0,10,20,30,40])
ax.set_yticklabels(["0","10","20","30",'40'])
plt.show()

二、Matplotlib 控制坐标轴刻度(核心知识点)

两个核心:刻度位置 、刻度显示文字;配套还有坐标范围。 分两种写法:pyplot 简写(plt.xxx) 和 Axes 面向对象写法(推荐,子图用)

一、核心函数汇总

表格

功能 plt 写法 Axes 写法(子图推荐) 作用
设置刻度位置 plt.xticks(ticks) ax.set_xticks(ticks) 规定在哪些坐标点画刻度线
设置刻度标签文字 plt.xticks(ticks,labels) ax.set_xticklabels(labels) 给刻度位置换成自定义文字(中文、日期、单位)
坐标显示范围 plt.xlim(min,max) ax.set_xlim(min,max) 控制坐标轴可见区间,不新增刻度
刻度文字旋转 plt.xticks(rotation=角度) ax.tick_params(axis='x',rotation=角度) 防止文字重叠
修改刻度大小 / 颜色 plt.tick_params() ax.tick_params() 刻度线、刻度文字样式

二、关键区分(考试高频)

  1. set_xticks:决定刻度打在哪 只填数字,代表坐标轴上的点位

    复制代码
    ax.set_xticks([1,2,3,4]) # 在x=1、2、3、4这几个位置生成刻度
  2. set_xticklabels:决定这个位置显示什么字 列表长度必须和 set_xticks 完全一致!

    复制代码
    ax.set_xticklabels(["第1周","第2周","第3周","第4周"])

❗易错点:只写标签不设置 ticks 会错位;标签数量和刻度数量不一致直接报错。

三、tick_params 调整刻度样式

复制代码
# x轴刻度,文字旋转45度,文字大小10
ax.tick_params(axis="x", rotation=45, labelsize=10)
# y轴刻度,刻度线设为红色
ax.tick_params(axis="y", color="red")

四、完整演示代码(Axes 子图,带中文)

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

fig = plt.figure(figsize=(7,5))
ax = fig.add_axes([0.1,0.1,0.8,0.8])

x = np.arange(1,5)
y = [15,28,22,35]
ax.bar(x,y)

# 1.坐标轴范围
ax.set_xlim(0,5)
ax.set_ylim(0,40)

# 2.设置刻度位置
ax.set_xticks([1,2,3,4])
ax.set_yticks([0,10,20,30,40])

# 3.设置刻度文字
ax.set_xticklabels(["周一","周二","周三","周四"])
ax.set_yticklabels(["0","10℃","20℃","30℃","40℃"])

# 4.刻度样式:x文字旋转
ax.tick_params(axis="x",rotation=30)

ax.set_title("坐标轴刻度控制演示")
plt.show()

五、考点小结

  • xlim/ylim:看的范围,不生成刻度
  • xticks(plt)/set_xticks(ax):刻度位置
  • set_xticklabels:刻度显示文字
  • tick_params:调整刻度线、字体大小、旋转角度
相关推荐
怕浪猫2 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
高洁012 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记2 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
朝朝辞暮i2 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
2601_962885723 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
北冥有鱼被烹3 小时前
VCSEL全景解析:与光模块NPO CPO的关系、市场量化分析与产业链影响
python
caoerzhong4 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律4 小时前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas
databook5 小时前
从手动检查到自动监控:一个数据质量工作流的实现
后端·python·数据分析
北冥有鱼被烹7 小时前
砷化镓与磷化铟:光模块的地基——从化学键到AI缺货潮的底层逻辑
人工智能·python