如何用Stata完成(shui)一篇经济学论文(九):画线性图

2023-11-19

什么?为什么只讲线形图?因为我只用过线形图…
言归正传,我的确只用过线形图(说了跟没说一样…)。Stata画图给我的感觉一直都是很复杂、很多命令,我觉得好像也没有很多的地方要画图,一般就画个线形图看看趋势,如果要画柱状图之类的,excel它不香吗?更多的涉及到经济学知识的像:安慰剂检验做1000次之后用回归系数画核密度图像,还有DID平行性趋势检验中用系数和置信区间画折线图以及RD中拟合曲线的断点图,已经不是普通画图的范畴,我们会在后面讲这些经济学方法的时候再具体讲。哦!我还用Stata画过地图!不过你们应该也用不到,我就不讲了。
滔滔不绝、强词夺理后,这章只讲线形图。

普通线性图

在进行画图前,大家最好将数据按即将画图的横坐标升序排一遍,不然可能图会挺乱的(可能是我太菜)
先来一段代码祭天:

* 把以前的数据清除,调用系统数据库 uslifeexp *
sysuse uslifeexp, clear
* 这一行才开始画图 *
line le year //也可使用 twoway line le year

这是stata里使用范例数据库进行画图,大家在自己stata中也可以直接运行。 line或 twoway line 就是我们的命令, 然后le(寿命)是纵坐标,year为横坐标。图为下面这样:
在这里插入图片描述
接下来,我们为上图加一些图例和常用的选项,这些为图附加的选项一般放在","后,就像我们说话有停顿一样,给软件说话也记得抑扬顿挫,不然它听不懂。下面我直接放图和代码,不解释应该看得懂。

line le year, title("这里放标题,记得加引号")  subtitle("副标题") ytitle("纵坐标标题") xtitle("横坐标标题")  note("注释:逗号后的选项,你想加的时候再放上来,没有需要就不加") tline(1955 , lp(dash) lc(black) )  tlabel(1955 , add  labsize(*.75))

在这里插入图片描述

大家可能觉得这行代码有点长, 但不要换行!用之前教的换行方法会报错!我也不知道为啥,有知道的小伙伴可以在评论区解释一下。
另外xlabel ylabel我没有讲,因为一般Stata会根据数据自动调整横纵坐标范围,所以我觉得没太必要。

多图并列

多图并列(一页多图)使用命令combine,先把每张图做好后保存,然后使用combine 命令:

line le_male year, saving(male)
line le_female year,  saving(female)
gr combine male.gph female.gph

在这里插入图片描述
不论多少张图都先分开保存,再使用gr combine命令。如果想一张一排,分为两排,则加上选项row(),意思是要分为几排:

gr combine male.gph female.gph, row(2)

在这里插入图片描述

一图多线

  1. 多个不同变量在同一张图
    如果你想放在一张图中的两条线为两个不同的变量,则可以直接加要使用的变量们:
line le_male le_female year

在这里插入图片描述
细心的同学可能发现,这两条线的图例自动变成了"Life expectancy, male"和"Life expectancy, female",这是因为这两个变量名虽然是le_male,le_famale,但作者把变量的label给换过了,大家打开Data Editor(Browse),选中变量le_male可以看到它的label,然后可以使用上方菜单栏Edit mode进入编辑状态后进行label修改。
在这里插入图片描述
2. 同一个变量分类
如果我们的数据是同样一个变量既有控制组,又有对照组数据,想按两个组别进行画图。数据结构:
在这里插入图片描述

tw (line var1 time if iftreat==0,tline(2017q1 , lp(dash) lc(black) )  tlabel(2017q1 , add  labsize(*.75))) ///
(line var1 time if iftreat==1,title("标题")), ///
legend(label(1 "控制组") label(2 "对照组") col(2))

在这里插入图片描述

所以同一个变量则需要用tw 后用()分别写两个线形图的代码,写法与普通线形图一样,在逗号后加上两个组的图例。因为这里数据涉及到working paper,虽然文章不咋样,但因为有co-author,我不能擅自公布数据,所以大家就看代码理解一下。主要原理也是分别画出两条线,用tw ()合并在一起后,更改图例就完成!
这里大家发现我的代码还是换行了,因为我发现!这个换行在do-file里就可以用,在命令栏输入就要报错,就很奇怪(reg在命令栏换行就不会报错),不过如果大家在do-file里还是可以尽情换行~

References
https://bbs.pinggu.org/thread-3002793-1-1.html
http://blog.sina.com.cn/s/blog_7939a4ad0102uxoc.html
Stata line官方文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用Stata完成(shui)一篇经济学论文(九):画线性图 的相关文章

  • 微信小程序开发实战第五讲之授权登录

    上一节 我们实现了简单的通过用户名和密码调用接口进行登录的实战 但是在小程序中 有个特殊的情况 就是很少有厂商去开发一个注册功能或者是通过用户名 密码来登录的逻辑 为什么 因为APP 小程序为了用户体验 是尽量多的避免用户多次输入交互 所以
  • 物联网LoRa系列-17:LoRa终端Sx1262芯片内部的射频信号放大器

    至此 我们已经拆解了天线是如何发送和接收空中的无线电磁波信号 拆解了无线终端如何对射频前端的高频电信号进行进一步处理的 还拆解了无线终端的发送和接收如何分时复用天线的半双工模式 本篇将进一步拆解无线终端是如何对射频电信号进行进一步的处理 包

随机推荐

  • 【优化器】(一) SGD原理 & pytorch代码解析

    1 简介 很多情况下 我们调用优化器的时候都不清楚里面的原理和构造 主要基于自己数据集和模型的特点 然后再根据别人的经验来选择或者尝试优化器 下面分别对SGD的原理 pytorch代码进行介绍和解析 2 梯度下降 梯度下降方法可以分为3种
  • constexpr 用法

    1 简介 constexpr函数指的是在编译的时候就能得到其返回值的函数 也就是说编译器将constexpr函数直接转换成其返回值 因此 constexpr函数都是被隐式地定义为内联函数 使用constexpr关键字来修饰constexpr
  • C++设计模式(二)观察者模式

    1 观察者模式知识点 1 定义 定义对象间的一种一对多的依赖关系 当一个对象的状态发生改变的时候 所有依赖它的对象都得到通知并自动更新 2 动机 将一个系统分割成一系列相互协作的类有一个常见的副作用 需要维护相关对象间的一致性 我们不希望为
  • 设计模式——原型模式

    原型模式顾名思义 就是指以某个实例为原型 copy出一个新的实例 该实例属性与原型相同或者是类似 很多时候 我们需要创建大量的相同或者相似的对象 如果一个个用new 构造函数的形式去创建的话比较繁琐 就像孙悟空要想变出成千上万个猴子猴孙总不
  • wmic命令学习

    我目前知道wmic可以查询进程 还可以查询服务 查询进程使用wmic process 如果想知道进程的名字 进程号 执行文件路径可以通过get来获取 还可以根据where筛选进程进行查询 wmic process get name proc
  • 开心档-软件开发入门教程网之Bootstrap4 信息提示框

    Bootstrap4 信息提示框 Bootstrap 4 可以很容易实现信息提示框 提示框可以使用 alert 类 后面加上 alert success alert info alert warning alert danger alert
  • Struts2 校验(XML配置校验)

    参考文档 http struts apache org 2 0 9 docs ajax client side validation html http struts apache org 2 0 9 docs pure javascrip
  • 基础篇-常用对称、非对称、摘要加密算法介绍

    本文属于 OpenSSL加密算法库使用系列教程 之一 欢迎查看其它文章 也可以查看 GmSSL国密加密算法库使用系列教程 常见的加密算法可以分成三类 对称加密算法 非对称加密算法 Hash算法 一 对称加密算法 对称加密是使用同一个密钥对信
  • springMVC基于Session实现动态国际化

    1 在spring配置文件中配置资源文件properties的位置及公共名 下列配置指定的properties文件处于src目录下的resources文件夹中 名字为message info properties
  • Unity 反射绑定UI

    ui的名称和定义的字段名要保持一致 using System using System Collections using System Collections Generic using System Linq using System
  • 计算机f g 盘找不到了,电脑E/F盘符突然不见了怎么办

    随着分区工具的普及 越来越多的人起初自己对硬盘重新界定分区 由于目前这些分区软件和平台不兼容造成再次分区的之后 分区会重叠 这会导致以后使用电脑的之后 会时常丢失一个或几个分区 1 首先开启磁盘管理 打开的步骤 右击桌面的计算机界面 管理
  • Compiler- volatile关键字

    为了直观的感受编译器为程序所做的编译优化 我们通过以下的C 程序来进行演示 只能体现编译优化的一小部分hh 请大家预测一下下面代码的输出结果 include
  • didChangeDependencies什么时候被调用

    参考 我先上一个Demo 这个Demo也就是网上面传的比较广的 我们就以这个来举例子说明网上的结论 父级结构中的层级发生变化时didChangeDependencies被调用 这个结论为什么是不完整 import package flutt
  • (2022 COLING)Context-Tuning情景化提示

    论文题目 Title Context Tuning Learning Contextualized Prompts for Natural Language Generation 研究问题 Question 自然语言生成 生成长文本 研究动
  • 5G+边缘计算,对于VR移动电竞游戏来说意味着什么?

    这是一个5G 边缘计算意义的问题 其实对VR游戏 特别是电竞游戏 这类大流量 低延迟的应用服务来说 大多数人第一时间想到的优点会是高达1Gbps s的数据传输速度 虽然事实确实如此 但并不是全部 从技术上讲 无线传输性能的进步能给我们带来更
  • element 可移动dialog

    import Vue from vue v dialogDrag 弹窗拖拽属性 Vue directive dialogDrag bind el binding vnode oldVnode const dialogHeaderEl el
  • ES6数组方法总结

    1 forEach let array 1 2 3 4 array forEach item index array gt console log item forEach会遍历数组 没有返回值 不允许在循环体内写return 不会改变原来
  • 小程序自定义导航栏返回主页

    小程序自定义导航栏返回主页 效果图 在app js中获取状态栏的高度statusBarHeight 自定义组件navbar wxml 自定义组件navbar wxss 自定义组件navbar json 自定义组件navbar js 调用组件
  • 睿智的目标检测60——Tensorflow2 Focal loss详解与在YoloV4当中的实现

    睿智的目标检测60 Tensorflow2 Focal loss详解与在YoloV4当中的实现 学习前言 什么是Focal Loss 一 控制正负样本的权重 二 控制容易分类和难分类样本的权重 三 两种权重控制方法合并 实现方式 学习前言
  • 如何用Stata完成(shui)一篇经济学论文(九):画线性图

    目录 普通线性图 多图并列 一图多线 什么 为什么只讲线形图 因为我只用过线形图 言归正传 我的确只用过线形图 说了跟没说一样 Stata画图给我的感觉一直都是很复杂 很多命令 我觉得好像也没有很多的地方要画图 一般就画个线形图看看趋势 如