Stata绘图:散点与分组密度函数图
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
连享会课程 · 2023 五一论文班
作者:温凯迪 (中山大学)
邮箱:wkd6107@163.com
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
目录
1. 图片描述
2. 命令介绍
3. 图片绘制
4. 相关推文
1. 图片描述
燃油效率,定义为产生特定推力或马力使用的燃油所含的能量除以这份燃油所含的全部潜在能量。其评价指标为每加仑燃油或每千克燃油所能产生的公里数,用 RPM/kg 或 RPM/gal 表示。不同车型的燃油效率不同,本图以 ggplot2
中的 mpg.csv 作为数据来源,分汽车种类描绘了城市燃油效率 (cty),高速公路燃油效率 (hwy) 两个变量之间的关系,如下图所示。
本图将散点图、lowess 拟合曲线与单变量正态分布密度图结合在同一个图上,有利于我们更精确的描述两个变量间的数据关系。散点图可以直观标示两变量间的数量关系,lowess 拟合趋势线展示了两变量的局部规律和趋势,单变量正态分布密度图表示了两变量分别的正态分布。
2. 命令介绍
grc1leg
命令
grc1leg
用于组合图形,在具体用法上与 graph combine
相同,只是它为所有组合图形显示一个公共图例,该公共图例是组合图形中的图例之一。
* 命令安装
net install grc1leg, from("http://www.stata.com/users/vwiggins")
* 命令语法
grc1leg name [name ...] [, combine_options legend_options ]
其中,name
是图片名称。combine_options
包括:
选项 colfirst
、rows
、cols
、holes
:用于指定在最终生成的组合图中各图的排列顺序,colfirst
表 示该图片显示在下面一列;rows()
和cols()
指定图片显示在具体的行和列中;holes
指定留出空白的区域。选项 iscale
可用于指定文本和标志的字体大小。选项 imargin
用于确定单个图表的边缘长度。选项 ycommon
和xcommon
为 X 轴和 Y 轴指定常用刻度。选项 scheme
为图片设定特定模板。选项 name
指定组合图的名称。
legend_options
包括:
选项 legendfrom
指定要从中获取组合图例的图形,默认值为列表中的第一个图形。选项 position
和ring
用于覆盖图例的默认位置,该位置通常位于绘图区域下方的居中。使用 position
可以使图例位于绘图区域本身内,并允许将图例放置在绘图内。根据 12 小时制表盘上的小时指定图例放置方向,如position(12)
意为将图例添加在绘图区域正上方。使用 ring
可以指定图例与绘图区域间的距离。ring(0)
表示可将图例放置于绘图区域内部;ring(k)
当 k>0 时,图例被放置在绘图区域以外。选项 span
将图例放置在跨越整个图片宽度或高度的区域。
schemepack
命令
schemepack
命令包括许多 Stata 预设图片方案,如 white_tableau
、black_tableau
、gg_tableau
、white_cividis
、black_cividis
、gg_cividis
等。
* 命令安装
ssc install schemepack, replace
palettes
及colrspace
命令
* 命令安装
ssc install palettes, replace
ssc install colrspace, replace
3. 图片绘制
该绘图方案来自 fahad-mirza 的 github 主页,文件源代码为 Sideplots_Distribution_by_Group_Stata.do。
.
. clear all
. * Necessary Package Installations (One time only)
. * net install grc1leg, from("http://www.stata.com/users/vwiggins") replace
. * ssc install schemepack, replace
. * ssc install palettes, replace
. * ssc install colrspace, replace
. * Loading the example dataset from GitHub
. lxhget mpg.txt, replace
. import delimited using mpg.txt, clear
. * Using loop to write and store the plotting commands and syntax by class
. levelsof class, local(classes)
`"2seater"' `"compact"' `"midsize"' `"minivan"' `"pickup"' `"subcompact"' `"suv"'
. foreach class of local classes {
2. local sctr `sctr' scatter cty hwy if class == "`class'", ///
> mcolor(%60) mlwidth(0) ||
3. quietly summarize cty if class == "`class'"
4. local cty `cty' function normalden(x, `r(mean)', `r(sd)'), ///
> horizontal range(cty) base(0) n(500) xlabel(, nogrid) ///
> recast(area) fcolor(%50) lwidth(0) ||
5. quietly summarize hwy if class == "`class'"
6. local hwy `hwy' function normalden(x, `r(mean)', `r(sd)'), ///
> range(hwy) base(0) n(500) ylabel(, nogrid) recast(area) ///
> fcolor(%50) lwidth(0) ||
7. }
. * Plotting each of the above saved commands and storing them for combining later using name()
. twoway `sctr' || lowess cty hwy ||, legend(off) name(lowess) ///
> ytitle("City MPG") xtitle("Highway MPG") ysc(r(10(5)35)) ///
> xsc(r(10(10)40)) xlabel(, nogrid) ylabel(, nogrid)
. twoway `cty', graphregion(margin(b=0)) name(cty) leg(off) ///
> fxsize(25) ytitle("") ylabel(none) xtitle("⠀") ysc(r(10(5)35))
. twoway `hwy', graphregion(margin(b=0)) name(hwy) leg(label(1 "2 Seater") ///
> label(2 "Compact") label(3 "Mid-Size") label(4 "Minivan") ///
> label(5 "Pickup") label(6 "Sub-Compact") label(7 "SUV") size(2) ///
> row(2) col(4)) fysize(25) xtitle("") xla(none) ytitle("⠀") xsc(r(10(10)50))
. * Combining all the plots saved above
. grc1leg hwy lowess cty, title("{bf}Fuel Economy by Vehicle Type", color(navy) ///
> size(3) j(left) pos(11) margin(l=6)) subtitle("Side plots for density", ///
> size(2) pos(11) margin(l=6)) legendfrom(hwy) span hole(2) rows(3) ///
> imargin(zero) commonscheme scheme(white_tableau)
. * Exporting the visual
. graph export "Sideplots_Distribution_by_Group_Stata.png", ///
> as(png) name("Graph") width(1920) replace
4. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 散点图, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:Stata绘图 Stata:分仓散点图应用-binscatter Stata绘图:sunflower-向日葵图-克服散点重叠 Stata绘图:绘制美观的散点图-superscatter Stata绘图-可视化:组间差异比较散点图 Stata:分仓散点图绘制-binscatter-binscatter2 Stata绘图:世行可视化案例-条形图-密度函数图-地图-断点回归图-散点图 Stata绘图全解:绘图语法-条形图-箱型图-散点图-矩阵图-直方图-点图-饼图 专题:面板数据 Stata:面板数据的莫兰指数计算与散点图绘制-xtmoran
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。