You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Stata绘图的右下角默认添加文本?

搞定Stata多幅散点图右下角加固定文本的问题

你之前用固定坐标加文本,因为各图轴范围不一样导致失效,其实改用相对百分比位置就能解决,不管轴怎么变,文本都能稳稳待在右下角。

最直接的方法:用百分比指定位置

在text()选项里用%来表示相对绘图区域的位置,比如text(5% 95% "XXXX")——第一个数是从底部往上的比例,第二个是从左往右的比例,这样不管坐标轴是1-100还是100-200,文本都会固定在靠近右下角的地方。

改好的示例代码:

clear all
set obs 100

gen x = runiformint(1, 100) 
gen y = runiformint(100, 200)   
egen z = seq(), f(1) t(100) 

// x和z的散点图,右下角加文本
scatter x z, text(5% 95% "XXXX")
// y和z的散点图,同样位置显示文本
scatter y z, text(5% 95% "XXXX")

微调位置的技巧

要是觉得位置不够准,还能搭配position()和offset()参数:position(6)专门对应右下角,offset()用来调文本和角落的距离,数值越大离得越远,比如:

scatter x z, text(0 0 "XXXX", position(6) offset(1))

批量处理50幅图的写法

要画50幅图的话,写个循环就不用重复敲代码了:

// 把这里的x y换成你要绘图的50个变量名
local varlist x y 
foreach var of local varlist {
    scatter `var' z, text(5% 95% "XXXX") title("`var' 与 z 的散点图")
    // 要是需要保存图,加这句:graph save "`var'_散点图.gph", replace
}

这样不管每幅图的轴范围差多大,文本都能正常显示在右下角。

内容的提问来源于stack exchange,提问作者Luis M. García

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:15:50