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:调整刻度线、字体大小、旋转角度
相关推荐
Delta-delta1 小时前
Ubuntu MATE 24.04 + systemd 部署 LiteLLM + Open WebUI
python
金融大 k1 小时前
A股实时行情 API 接入指南:Python 覆盖行情、复权、基本面与 WebSocket
python·websocket·行情数据·行情 api
生信大杂烩1 小时前
Xenium H&E空间原位可视化——细胞轮廓、基因表达与转录本可视化
python·算法·数据分析
东莞市云毅网络有限公司1 小时前
用标准库做网页正文抽取:从 HTML 到结构化字段的轻量实现
python·sqlite·自动化运维·geo·数据监测
高级程序源2 小时前
django校企合作实习基地管理系统82506-计算机课程设计、毕业设计
vue.js·后端·python·mysql·django·课程设计·pygame
东方芷兰2 小时前
Agent 技术摘要 02 —— 区块链、比特币、挖矿、ETF、比特币疯涨事件、以太坊、以太币、显卡荒事件
人工智能·笔记·python
贝猫说python2 小时前
阿里云部署qwen 大模型从0-1,第2步:阿里云平台创建ubuntu实例
python
峥嵘life2 小时前
2026华为AI码道 CodeArts 使用分享:Windows端 + 服务器CLI 实战总结
android·大数据·开发语言·python
贝猫说python2 小时前
阿里云部署qwen 大模型从0-1,第3步:阿里云服务器上部署大模型
python