
plt.text / ax.text作用在子图 Axes 内添加文字默认坐标是数据坐标x,y 是图表坐标轴上的数值 面向对象写法推荐ax.text(x,y,s)和plt.text(x,y,s)功能一致✅ 基础语法plt.text(x, y, s, 其他参数) # ax.text(x, y, s, ...)x文字位置横坐标数据坐标y文字位置纵坐标数据坐标s要显示的文字字符串✅ 高频参数考试重点表格参数含义可选值ha水平对齐 horizontalalignmentleft(默认) /center/rightva垂直对齐 verticalalignmenttop/center/bottom/baseline (默认)fontsize字号数字color文字颜色red、#333333rotation文字旋转角度数字单位 °bbox文字背景框字典bboxdict(facecoloryellow,alpha0.5)alpha透明度0~1中文必加plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False✅ 完整示例代码import matplotlib.pyplot as plt import numpy as np plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False fig, ax plt.subplots(figsize(6,4)) x [1,2,3,4] y [2,4,1,3] ax.plot(x,y) # 在坐标(2,3.5)添加文字 ax.text(2, 3.5, 测试文字, fontsize12, colorblue, hacenter, vabottom, bboxdict(facecolor#f8f8f8, edgecolorgray)) # 旋转文字 ax.text(1, 1, 旋转文字, rotation30, colorred) plt.show() 核心考点极易混淆坐标区别最重要plt.text()/ax.text()数据坐标跟随 xlim、ylim 缩放fig.text()画布相对坐标x,y∈[0,1]0,0 画布左下角不受坐标轴范围影响和annotate区分text纯文字没有箭头annotate带箭头标注需要xy箭头指向点、xytext文字位置ha是文字锚点水平对齐hacenter代表文字中心落在 (x,y) 这个点上易错题目代码plt.text(2, 3, ABC, hacenter)说法正确的是文字中心点落在 (2,3) 这个数据坐标上错误认知plt.text 的 x,y 是画布百分比 ❌那是 fig.text!DOCTYPE html html langzh-CN head meta charsetUTF-8 titleMatplotlib plt.text 自测题【修复点击】/title style * {box-sizing: border-box;font-family:Microsoft Yahei;} body{max-width:900px;margin:20px auto;padding:0 16px;background:#f8f9fa;} h1{text-align:center;color:#2c3e50;} .part{background:#fff;border-radius:10px;padding:16px;margin-bottom:20px;box-shadow:0 2px 8px #00000015;} .part-title{cursor:pointer;font-size:18px;font-weight:bold;padding:8px 0;color:#0066cc;} .q-container{display:none;margin-top:12px;} .question{padding:14px;border-bottom:1px solid #eee;} .q-title{font-weight:bold;margin-bottom:10px;} .opt{margin:8px 0;cursor:pointer;padding:6px;border-radius:4px;} .opt:hover{background:#f1f7ff;} .opt.selected{background:#e0edff;} .correct{background:#d9f7e8 !important;color:#0b703b;} .wrong{background:#ffe9e9 !important;color:#b82626;} .ans-area{margin-top:10px;padding:10px;background:#f5f7fa;border-radius:6px;display:none;} .show-btn{margin-top:10px;padding:6px 14px;background:#0066cc;color:#fff;border:none;border-radius:4px;cursor:pointer;} .score-box{background:#e8f4ff;padding:12px;border-radius:8px;text-align:center;font-size:18px;margin-bottom:16px;} /style /head body h1Matplotlib plt.text / ax.text 单项选择题/h1 div classscore-box总分span idtotalScore0/span / 30/div div classpart div classpart-title onclicktogglePart(this)▶ 点击展开题目共30题/div div classq-container idcontainerAll !--1-- div classquestion data-answerA data-user div classq-title1. plt.text() 的作用是/div div classopt data-valAA. 在子图Axes内添加文本/div div classopt data-valBB. 设置画布总标题/div div classopt data-valCC. 添加带箭头标注/div div classopt data-valDD. 设置坐标轴标签/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析plt.text用于在子图内放置纯文字带箭头是annotateset_title是子图标题fig.suptitle是画布总标题。/div /div !--2-- div classquestion data-answerB data-user div classq-title2. plt.text(x,y,s) 中 x,y 使用的是什么坐标/div div classopt data-valAA. 画布相对坐标(0~1)/div div classopt data-valBB. 图表数据坐标/div div classopt data-valCC. 像素坐标/div div classopt data-valDD. 百分比坐标/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析plt.text、ax.text使用数据坐标会随xlim、ylim缩放fig.text才是画布相对坐标0~1。/div /div !--3-- div classquestion data-answerC data-user div classq-title3. ax.text(2,3,文字,hacenter)ha含义是/div div classopt data-valAA. 垂直对齐/div div classopt data-valBB. 文字旋转角度/div div classopt data-valCC. 水平对齐/div div classopt data-valDD. 文字透明度/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析hahorizontalalignment水平对齐vaverticalalignment垂直对齐。/div /div !--4-- div classquestion data-answerD data-user div classq-title4. hacenter代表/div div classopt data-valAA. 文字底部对齐(x,y)/div div classopt data-valBB. 文字右边缘对齐(x,y)/div div classopt data-valCC. 文字顶部对齐(x,y)/div div classopt data-valDD. 文字水平中心落在(x,y)/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析hacenter文字水平中点对准指定坐标x。/div /div !--5-- div classquestion data-answerB data-user div classq-title5. va参数的含义/div div classopt data-valAA. 水平对齐/div div classopt data-valBB. 垂直对齐/div div classopt data-valCC. 字体大小/div div classopt data-valDD. 文字颜色/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析vaverticalalignment垂直对齐。/div /div !--6-- div classquestion data-answerA data-user div classq-title6. 想要给文字添加背景框使用哪个参数/div div classopt data-valAA. bbox/div div classopt data-valBB. alpha/div div classopt data-valCC. rotation/div div classopt data-valDD. fontsize/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析bbox接收字典设置文字背景框alpha是透明度rotation旋转。/div /div !--7-- div classquestion data-answerC data-user div classq-title7. bboxdict(facecoloryellow)facecolor代表/div div classopt data-valAA. 边框颜色/div div classopt data-valBB. 文字颜色/div div classopt data-valCC. 背景填充颜色/div div classopt data-valDD. 透明度/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析facecolor背景填充色edgecolor是边框颜色。/div /div !--8-- div classquestion data-answerD data-user div classq-title8. ax.text 和 fig.text 的核心区别/div div classopt data-valAA. fig.text不能写中文/div div classopt data-valBB. ax.text支持旋转fig.text不支持/div div classopt data-valCC. fig.text只能写一行文字/div div classopt data-valDD. ax.text是数据坐标fig.text是画布相对坐标/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析ax.text跟随坐标轴缩放fig.text坐标范围0~1基于整张画布不受xlim/ylim影响。/div /div !--9-- div classquestion data-answerA data-user div classq-title9. 哪个参数控制文字旋转角度/div div classopt data-valAA. rotation/div div classopt data-valBB. va/div div classopt data-valCC. fontsize/div div classopt data-valDD. color/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析rotation30文字逆时针旋转30度。/div /div !--10-- div classquestion data-answerB data-user div classq-title10. plt.text 与 plt.annotate 的区别说法正确的是/div div classopt data-valAA. plt.text可以直接生成箭头/div div classopt data-valBB. annotate支持箭头text仅纯文本/div div classopt data-valCC. text只能写中文annotate只能英文/div div classopt data-valDD. annotate使用画布坐标text使用像素坐标/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析plt.text只绘制纯文字annotate可以添加箭头指向图上点。/div /div !--11-- div classquestion data-answerC data-user div classq-title11. ax.text(1,2,r$\mu5$)r字符串作用/div div classopt data-valAA. 设置文字红色/div div classopt data-valBB. 文字旋转/div div classopt data-valCC. 支持LaTeX数学公式/div div classopt data-valDD. 开启背景框/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析r原始字符串$包裹内容可以渲染数学符号、希腊字母、上下标。/div /div !--12-- div classquestion data-answerD data-user div classq-title12. alpha0.3作用/div div classopt data-valAA. 文字放大/div div classopt data-valBB. 修改对齐方式/div div classopt data-valCC. 文字旋转/div div classopt data-valDD. 设置透明度0完全透明1不透明/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析alpha透明度取值0~1。/div /div !--13-- div classquestion data-answerA data-user div classq-title13. ax.text(3,4,测试,vatop)vatop含义/div div classopt data-valAA. 文字顶部对齐坐标(3,4)/div div classopt data-valBB. 文字底部对齐坐标(3,4)/div div classopt data-valCC. 文字水平中心对齐/div div classopt data-valDD. 文字右边缘对齐/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析vatop文字的顶部锚点落在y坐标位置。/div /div !--14-- div classquestion data-answerB data-user div classq-title14. 想要修改文字字号参数是/div div classopt data-valAA. color/div div classopt data-valBB. fontsize/div div classopt data-valCC. rotation/div div classopt data-valDD. ha/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析fontsize设置字号可填数字。/div /div !--15-- div classquestion data-answerC data-user div classq-title15. plt.text(0.5,0.5,hello)如果xlim范围是[0,10]坐标0.5代表/div div classopt data-valAA. 画布宽度50%/div div classopt data-valBB. 画布一半像素/div div classopt data-valCC. X轴数据0.5位置/div div classopt data-valDD. 子图宽度一半/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析plt.text是数据坐标x0.5代表X轴数值0.5。/div /div !--16-- div classquestion data-answerD data-user div classq-title16. ax.text(2,2,文字,haright)说法正确的是/div div classopt data-valAA. 文字中心对准x2/div div classopt data-valBB. 文字左侧对准x2/div div classopt data-valCC. 文字顶部对准y2/div div classopt data-valDD. 文字的右边缘对准x2/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析haright文字右边缘落在x坐标。/div /div !--17-- div classquestion data-answerA data-user div classq-title17. bbox字典中edgecolor控制/div div classopt data-valAA. 背景框边框颜色/div div classopt data-valBB. 文字颜色/div div classopt data-valCC. 背景填充颜色/div div classopt data-valDD. 框透明度/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析edgecolor是边框颜色facecolor填充色。/div /div !--18-- div classquestion data-answerB data-user div classq-title18. ax.text(5,10,text,rotation45)文字如何旋转/div div classopt data-valAA. 顺时针45度/div div classopt data-valBB. 逆时针45度/div div classopt data-valCC. 水平翻转/div div classopt data-valDD. 垂直翻转/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析rotation正数代表逆时针旋转。/div /div !--19-- div classquestion data-answerC data-user div classq-title19. 使用plt.text显示中文出现方框乱码解决代码是/div div classopt data-valAA. plt.rcParams[axes.unicode_minus]True/div div classopt data-valBB. plt.text设置colorblack/div div classopt data-valCC. plt.rcParams[font.sans-serif][SimHei]/div div classopt data-valDD. 添加bbox参数/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析设置SimHei黑体解决中文方框axes.unicode_minusFalse解决负号乱码。/div /div !--20-- div classquestion data-answerD data-user div classq-title20. ax.text(1,1,test,vabottom)描述正确的是/div div classopt data-valAA. 文字顶部对齐y1/div div classopt data-valBB. 文字水平中心对齐x1/div div classopt data-valCC. 文字右边缘对齐x1/div div classopt data-valDD. 文字底部对齐y1/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析vabottom文字底部锚点落在y坐标。/div /div !--21-- div classquestion data-answerA data-user div classq-title21. 想要在整张画布固定位置写文字不随坐标轴缩放选择/div div classopt data-valAA. fig.text()/div div classopt data-valBB. ax.text()/div div classopt data-valCC. plt.text()/div div classopt data-valDD. ax.annotate()/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析fig.text画布相对坐标不会受xlim、ylim影响。/div /div !--22-- div classquestion data-answerB data-user div classq-title22. ax.text(2,3,abc,colorred)color参数控制/div div classopt data-valAA. 背景框颜色/div div classopt data-valBB. 文字颜色/div div classopt data-valCC. 边框颜色/div div classopt data-valDD. 画布颜色/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析color是文字本身颜色bbox内facecolor才是背景。/div /div !--23-- div classquestion data-answerC data-user div classq-title23. ax.text(1,2,r$x_1$)渲染效果是/div div classopt data-valAA. x1普通文字/div div classopt data-valBB. X加粗/div div classopt data-valCC. x下标1/div div classopt data-valDD. x上标1/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析LaTeX语法下划线_代表下标^代表上标。/div /div !--24-- div classquestion data-answerD data-user div classq-title24. 下面哪一段可以给文字增加半透明白色背景框/div div classopt data-valAA. bboxdict(alpha0.5)/div div classopt data-valBB. bboxdict(rotation0.5)/div div classopt data-valCC. bboxdict(fontsize0.5)/div div classopt data-valDD. bboxdict(facecolorwhite,alpha0.5)/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析facecolor设置白色背景alpha设置透明度。/div /div !--25-- div classquestion data-answerA data-user div classq-title25. plt.text 和 ax.text 的关系说法正确的是/div div classopt data-valAA. plt.text是pyplot快速接口ax.text是面向对象写法/div div classopt data-valBB. plt.text使用画布坐标ax.text使用像素坐标/div div classopt data-valCC. plt.text支持箭头ax.text不支持/div div classopt data-valDD. ax.text不能写中文/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析plt简易APIax是面向对象推荐ax写法适合多子图。/div /div !--26-- div classquestion data-answerB data-user div classq-title2 classq-title26. 执行 ax.set_xlim(0,10) 之后ax.text(5,2,文字)文字位置会/div div classopt data-valAA. 固定在画布50%宽度/div div classopt data-valBB. 在X轴数值5的位置/div div classopt data-valCA. 自动跑到画布左上角/div div classopt data-valDD. 文字消失/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析ax.text是数据坐标x5就是坐标轴数值5的位置。/div /div !--27-- div classquestion data-answerC data-user div classq-title27. 下面哪个参数不属于plt.text的参数/div div classopt data-valAA. ha/div div classopt data-valBB. fontsize/div div classopt data-valCC. xy箭头目标点/div div classopt data-valDD. rotation/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析xy、xytext、arrowprops是annotate带箭头标注的参数text没有。/div /div !--28-- div classquestion data-answerD data-user div classq-title28. ax.text(2,4,Python,haleft)含义/div div classopt data-valAA. 文字中心对准x2/div div classopt data-valBB. 文字右边缘对准x2/div div classopt data-valCC. 文字顶部对准y4/div div classopt data-valDD. 文字左边缘对准x2/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析haleft文字左边缘落在x坐标。/div /div !--29-- div classquestion data-answerA data-user div classq-title29. ax.text(1,1,r$yx^2$)^代表/div div classopt data-valAA. 上标/div div classopt data-valBB. 下标/div div classopt data-valCC. 乘号/div div classopt data-valDD. 减号/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析LaTeX语法 ^ 上标_下标。$yx^2$ 显示y等于x的平方。/div /div !--30-- div classquestion data-answerB data-user div classq-title30. 下列说法错误的是/div div classopt data-valAA. ax.text可以设置文字透明度alpha/div div classopt data-valBB. ax.text可以直接绘制箭头指向数据点/div div classopt data-valCC. ax.text支持旋转文字/div div classopt data-valDD. ax.text可以添加背景框bbox/div button classshow-btn onclickcheck(this)查看答案/button div classans-area解析绘制箭头是annotate函数的功能text不能直接画箭头。/div /div /div /div script //折叠展开 function togglePart(el){ const box el.nextElementSibling; if(box.style.display block){ box.style.displaynone; el.textContent▶ 点击展开题目共30题; }else{ box.style.displayblock; el.textContent▼ 点击收起题目共30题; } } let score 0; // ✅页面加载立刻绑定全部选项点击事件修复无法选择 document.querySelectorAll(.opt).forEach(opt{ opt.onclick function(){ const qDom this.closest(.question); if(qDom.classList.contains(done)) return; qDom.querySelectorAll(.opt).forEach(oo.classList.remove(selected)); this.classList.add(selected); qDom.dataset.user this.dataset.val; } }) function check(btn){ const qDom btn.closest(.question); if(qDom.classList.contains(done)) return; const correctAns qDom.dataset.answer; const userAns qDom.dataset.user; if(!userAns){ alert(请先点击选择一个选项); return; } const ansBox qDom.querySelector(.ans-area); const opts qDom.querySelectorAll(.opt); opts.forEach(o{ if(o.dataset.val correctAns){ o.classList.add(correct); }else if(o.dataset.val userAns o.dataset.val ! correctAns){ o.classList.add(wrong); } }) ansBox.style.display block; if(userAns correctAns){ score; } document.getElementById(totalScore).innerText score; qDom.classList.add(done); } /script /body /html