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

使用Stata绘制双变量分类占比堆叠条形图问题咨询

Stata两时点疫苗接种意愿堆叠条形图实现方案
  • 首先确认两个原始接种意愿变量的取值统一编码,示例默认编码规则为1=是、2=否、3=不确定,提前清理数据中的缺失值与异常值
  • 若数据集没有唯一的受访者标识字段,先执行gen id = _n生成唯一ID
* 重命名原始变量,示例中初始变量为will1(第一时点)、will2(第二时点),可根据你的实际变量名调整
ren will1 接种意愿1
ren will2 接种意愿2

* 宽格式数据转长格式
reshape long 接种意愿, i(id) j(调研时点)

* 统计各时点不同接种意愿的人群占比
bys 调研时点 接种意愿: gen cnt = _N
bys 调研时点: gen total = _N
gen 占比 = cnt / total * 100
duplicates drop 调研时点 接种意愿, force
* 绘制纵向堆叠占比条形图
graph bar (sum) 占比, over(调研时点, relabel(1 "第一时点" 2 "第二时点")) stack ///
ytitle("人群占比(%)") blabel(bar, format(%3.1f) position(inside)) ///
legend(label(1 "是") label(2 "否") label(3 "不确定")) ///
bar(1, color(forest_green)) bar(2, color(cranberry)) bar(3, color(navy)) ///
ylabel(0(20)100, grid) title("两时点疫苗接种意愿分布对比")
  • 若你的变量编码规则和示例不同,调整legend的标签内容对应即可
  • blabel参数控制堆叠块内部显示具体占比数值,不需要可直接删除该行配置
  • 条形颜色、标题、坐标轴刻度均可根据需求自行调整参数

内容的提问来源于stack exchange,提问作者jake miller

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:24:03