本次介绍了 Stata 中的基本图形绘制,主要是以 scatter 为例。 首先学会一个,其他样式的图形或者组合图形就能慢慢尝试处理。另外要积累一些额外的数据处理的命令,然后才能把图画好。
一些基本的小tips
1. 绝对宏的引用
display 1 + 12di " 1 + 1"1 + 1di "1 +1 = `=1 + 1'"1 + 1 = 2

2. 知道哪一天的日期格式
di date("2020-01-29","YMD")21943
我们看到的 21943 表示的是以 Stata 的时间来计算,一般在绘制图表,显示X 轴时间段的时候需要使用到。
3将 Stata 的日期转成习惯的年月日类型
format datenum %tdCY-N-D
%td 表示时间, CY 表示世纪, N表示数值型, D 表示天,这样转换过来的日期就是年-月-日类型
绘图方面的学习:
上一次记录一些比较常用的一些命令,bar scatter, line, dropline 等相关命令,但是 Stata 在绘图方面有两个难点,将数据结构转化成自己需要表达的图形的样式,第二个是一些图表,图例的记忆,这个需要自己不断地去积累才会有相应的收获。
1 关于 marker (标记的学习)
比如一个很简单的命令
scatter confirmed deaths
这个就是一个很简单的散点图,有相应的数据。

输入 help scatter, 在 option 下面点击 marker_options:
其中marker_option 下面有msymbol mcolor msize mfcolor 各个选项的说明。分别是marker 的形状, 颜色,大小,里面的颜色,这个需要自己去实验,常用的是前三个。
我们看到 msymbol 就可以看到对标志的各种选择。

根据标志进行选择:T 表示三角形,所以就会看到如下的图形展示:
scatter confirmed deaths, msymbol(T)

如果要更改变量的颜色,图标的大小均可以进行修改,这个地方不做演示,但是需要添加城市信息,这个时间就需要参看 marker_label_option

其中 mlabposition mlabvposition 表示从哪个方位将 label 放置在变量名前面。
下面的代码就是将图标 marker 的相关信息处理完成了。
scatter confirmed deaths, msymbol(T) msizez(*0.4) mcolor(green*.06) mlabel(city)

还有其他比较重要的选项,比如如果想对 x 轴的长度尺度进行修改,这个时候需要使用 xlabel(#10) 表示显示10个刻度格。 一般情况下,刻度格可以调整角度,让所有的图例看的更加清晰。
这个时候可以使用xlabel (#10,angle(20)) 或者 xla(#20,alt)其中alt 命令表示 stata 会自动帮我们将需要的刻度放置在 x 轴上。 我们可以在help axis_label_option 进行看更加详细的说明。
另外可以画一个组合图一般需要在命令中添加一个 “||” 选项.同时也可以把上次笔记中的一些内容进行整理如下:
sysuse auto,clearkdensity price, generate(x d)gen nx = 0.0005tw line d x ||spike nx price, base(-0.0005)leg(pos(1) ring(0) order(1"密度线" 2 "直线") row(1))

剩下的图需要自己不断地去练习和尝试就好。
(完)
往期回顾:




