stata绘图指令

stata绘图指令 – 潘登同学的stata笔记

文章目录

    • stata绘图指令 -- 潘登同学的stata笔记
  • 绘图概览
    • 韦恩图
    • 折线图
    • 连线图
    • 线性拟合图
    • 直方图
  • 函数图
  • 添加特殊字符和文字

绘图概览

Stata 提供的图形种类:

  • twoway 二维图
  • scatter 散点图
  • line 折线图
  • area 区域图
  • lfit 线性拟合图
  • qfit 非线性拟合图
  • histogram 直方图
  • kdensity 密度函数图
  • function 函数图

  • graph matrix 矩阵图
  • graph bar 条形图
  • graph dot 点图
  • graph box 箱形图
  • graph pie 饼图

  • ac 相关系数图
  • pac 偏相关系数图
  • irf 脉冲相应函数图

韦恩图

sysuse nlsw88, clear
pvenn married collgrad south //韦恩图,  R1_regression.do

在这里插入图片描述

折线图

sysuse sp500, clear
// 一根折线图
twoway line    high date       // G2_line.do
// 两根折线图
twoway (line high date) (line low date) 
twoway line high date || line low date   //等价命令
// 更完整的设定
sysuse sp500, clear
twoway (line high date) (line low date)        ///
    ,                                        ///  
    title("图1:股票最高价与最低价时序图", box)  /// //图形标题
    xtitle("交易日期", margin(medsmall))         /// //x轴标题
    ytitle("股票价格")                           /// //y轴标题
    ylabel(900(200)1400) ymtick(##5)             /// //y轴刻度标签
    xlabel(,angle(20))                           /// //x轴刻度标签
    legend(col(1) ring(0) position(7))           /// //图例
    note("资料来源:Stata公司,SP500.dta")       ///
    caption("说明:我做的第一幅Stata图形!")     ///
    saving(mypig.gph, replace)                       //存储图片

graph export G1_mygraph.wmf, replace  //输出为 .wmf 格式  
graph export G1_mygraph.png, replace  //输出为 .png 格式

在这里插入图片描述

sysuse sp500, clear
twoway line high low date  in 1/20, ///
         scheme(s1mono)               ///
         xlabel(,angle(50))           ///
		 ylabel(,angle(0) grid)       /// 
		 ymtick(##5)                  /// // ##5表示在每隔5个单位加一条刻度线)
		 lpattern(solid dash)         ///
		 lcolor(green*1.2 black*0.7)  ///
		 lwidth(*1.2 *1.3)
graph export "$path\myline.png", replace

在这里插入图片描述

连线图

sysuse sp500, clear
twoway connect high low date  in 1/20, ///
        scheme(s1mono)                  ///
        xlabel(, angle(50))             ///
        ylabel(, angle(0) grid)         ///
        lpattern(solid dash)

在这里插入图片描述

use "nlswork.dta", clear
gen wage = exp(ln_wage)
replace year = year+1900
bysort collgrad year: egen mwage = mean(wage) //D5_egen.do

keep collgrad year mwage
duplicates drop collgrad year, force  // 删除重复值(为了画图时一一对应)

xtset year collgrad
gen diff = D.mwage

twoway  (connect mwage year if collgrad==0)    ///
        (connect mwage year if collgrad==1)    ///
        (connect diff  year), ///
        scheme(s1mono)        ///
        ytitle("Mean Wage")   ///
        ylabel(2(1)10, angle(0) grid) ///
        xlabel(1968(2)1988, grid)     ///
        legend(label(1 "Non College Graduate") ///
                label(2 "College Graduate")     ///
                label(3 "Difference")           ///
                col(1) ring(0) position(11))

在这里插入图片描述

线性拟合图

  • lfit:线性拟合
  • qfit:非线性拟合
sysuse auto, clear
twoway (scatter price weight) (lfit price weight)

在这里插入图片描述

分组线性拟合

sysuse auto, clear
#delimit ; // 用分号代替///的连接作用
sysuse auto, clear ;
twoway (scatter price weight if foreign==1) 
        (lfit price weight if foreign==1)
        (scatter price weight if foreign==0) 
        (lfit price weight if foreign==0)
        , 
        legend(label(1 "Foreign")
                label(2 "")
                label(3 "Demestic")
                label(4 "")
                position(4) ring(0)
                )
        ;
#delimit cr

在这里插入图片描述

使用aaplot标注拟合方程

sysuse auto, clear
gen gpm = 1000/mpg
label var gpm "Gallons per thousand miles"

aaplot gpm weight

aaplot gpm weight,  ///
        lopts(lcolor(black*0.8) lpattern(dash)) ///
        aformat(%04.3f)     ///
        bformat(%06.4f)     ///
        rmseformat(%4.3f)   ///
        scheme(s1mono)

在这里插入图片描述

直方图

sysuse nlsw88, clear

histogram age, frequency xlabel(34(1)46)  //频数
histogram age, fraction  xlabel(34(1)46)  //频率 
histogram age, percent   xlabel(34(1)46)  //占比=频率*100

// 附加正态分布密度曲线
histogram wage, normal
// 附加核密度函数曲线
histogram wage, kdensity

在这里插入图片描述

在这里插入图片描述

// 长条的显示
histogram wage, gap(50)  // 长条间距缩小为默认值的 50%

histogram wage, gap(90) scheme(s1mono)  //黑白图形	  

histogram wage, gap(60) scheme(s1mono)  ///
    fcolor(white) lcolor(black) lwidth(*0.8)

在这里插入图片描述

// 附加标签
histogram age, freq  addlabels

在这里插入图片描述

分组绘制直方图

sysuse nlsw88, clear
histogram wage, by(collgrad)  ///
        gap(80) scheme(s1mono) percent

在这里插入图片描述

将两个组的直方图绘制在一个图中

sysuse nlsw88,clear
byhist wage, by(collgrad) frac  ///
        tw(legend(row(2) ring(0) position(1)))

在这里插入图片描述

byhist wage, by(collgrad) density ///
	       tw1(color(black))          ///
		   tw2(color(blue))           ///
           tw(legend(label(1 "Otherwise")  ///
		             label(2 "College Graduate") ///
		      col(1) ring(0) pos(1)))

在这里插入图片描述

// 核密度函数图
twoway (kdensity wage if collgrad==0)     /// 
        (kdensity wage if collgrad==1),    /// 
        xtitle("Hourly wage")              ///
        legend(label(1 "Otherwise")        ///
                label(2 "College Graduate") ///
                col(1) ring(0) pos(3)) 

在这里插入图片描述

sysuse nlsw88, clear
	
bihist wage, by(collgrad) frac  tw(legend(col(1)))

在这里插入图片描述

函数图

twoway function y = x, aspect(1) // 横纵比1:1

twoway function y = -2*x^2 + 8*x + 10
	
twoway function y = -2*x^2 + 8*x + 10, range(-10 10)
	
twoway function y = -2*x^2 + 8*x + 10, range(-10 10) ///
    xline(2, lpattern(dash) lcolor(blue))

在这里插入图片描述

在这里插入图片描述

分布的密度函数

twoway ///
    (function Normal = normalden(x), range(-8 8))   ///
    (function    t20 = tden(20,x), range(-8 8))   ///
    (function    t3  = tden(3 ,x), range(-8 8))   ///
    (function    t1  = tden(1 ,x), range(-8 8)),  ///
    legend(col(1) position(1) ring(0) size(*1.1)) ///
    xtitle("t distribution", margin(t+2) size(*1.3))  

添加特殊字符和文字

help graph text
// 在图片中添加希腊字母
twoway function y = gammaden(3/2,2,0,x), range(0 10) ///
        title("{&chi}{sup:2}(3) {bf}distribution")

在这里插入图片描述

twoway ///
    (function chi1 = gammaden(1/2,2,0,x), range(0 10))  ///
    (function chi3 = gammaden(3/2,2,0,x), range(0 10)), ///
    legend(off) ///
    subtitle("{&chi}{sup:2} distribution",margin(t+2) size(*1.3)) ///
    text(1.5 0.4 "{&chi}{sup:2}(1)") ///
    text(0.3 0.4 "{&chi}{sup:2}(3)") 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/12248.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机的温室大棚环境监测系统设计

温室大棚对北方反季节蔬菜的种植具有重要意义。据了解全国各地温室大棚使用集中,但是大棚环境调控方式落后、管理落后、生产效率比较低。针对此问题本文提出了一种基于STM32单片机智能温室大棚控制系统方案,实现环境参数的自动检测,以达到智能…

2023年股票代持行业研究报告

第一章 股票代持概述 1.1 基本概念 股票代持,或称委托持股,是指实际出资人与名义出资人达成以下约定:名义出资人作为名义股东,在股东名册等公司工商登记信息上出现,而实际上由实际出资人出资并享有投资权益。 股票代…

Segment Anything论文详解(SAM)

论文名称:Segment Anything 论文地址:https://arxiv.org/abs/2304.02643 开源地址:https://github.com/facebookresearch/segment-anything demo地址:Segment Anything | Meta AI 主要贡献:开发一个可提示的图像分…

图片存储方案-七牛云存储

1.引语 在实际开发中,我们会有很多处理不同功能的服务器。例如: 应用服务器:负责部署我们的应用 数据库服务器:运行我们的数据库 文件服务器:负责存储用户上传文件的服务器 分服务器处理的目的是让服务器各司其职…

设计模式简述

设计模式(简述) 设计模式的分类 ​ 根据目的可以分为创建型、结构性和行为型三类: 创建型模型:创建对象结构性模型:处理类或对象的组合行为型模式:用于描述对类或对象怎样交互和怎么分派职责 ​ 根据范围可以分为类模式和对象…

nvm-windows的安装使用及踩坑指南

nvm是node的一款版本管理工具,可以简单操作node版本的切换、安装、查看。常规来说,开发中安装一个node版本就够了,但是最近在开发中有的老项目或者一些特定的项目需要来回切换node的版本,不可能手动去卸载掉之前的node版本&#x…

013:Mapbox GL添加marker

第013个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加marker。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共70行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhu…

算法时间复杂度计算

目录 1.时间复杂度计算 1.1 时间复杂度例题 1.1.1例题 1.1.2例题 1.1.3例题 1.1.4例题 1.2时间复杂度leetcode例题 1.时间复杂度计算 首先,我们需要了解时间复杂度是什么:算法的时间复杂度是指算法在编写成可执行程序后,运行时需要耗费…

使用 Floyd Warshall 检测负循环

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子:

Linux中的read/write和recv/send的区别,并使用recv/send实现简单的聊天功能

Linux中的read/write和recv/send的区别 r e a d / w r i t e read/write read/write的用法 r e c v / s e n d recv/send recv/send的用法 L i n u x Linux Linux中的 r e a d / w r i t e read/write read/write和 r e c v / s e n d recv/send recv/send的区别下面是一个使用…

Three.js教程:第一个3D场景

推荐:将 NSDT场景编辑器加入你3D工具链 其他工具系列: NSDT简石数字孪生 下面的代码完整展示了通过three.js引擎创建的一个三维场景,在场景中绘制并渲染了一个立方体的效果,为了大家更好的宏观了解three.js引擎, 尽量使…

基于SpringBoot的私人健身和教练的预约管理系统源码数据库论文

目 录 第一章 概述 1.1研究背景 1.2开发意义 1.3研究现状 1.4研究内容 1.5论文结构 第二章 开发技术介绍 2.1系统开发平台 2.2平台开发相关技术 2.2.1 Javar技术 2.2.2 Mysql数据库介绍 2.2.3 Mysql环境配置 2.2.4 B/S架构 2.2.5 Springboot框架 …

设计模式-结构型模式之外观模式

4. 外观模式 4.1. 模式定义 外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个 高层接口,这个接口使得这一子系统更加容易使用。外观模…

socket 到底是个啥

哈喽大家好,我是咸鱼 我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗 我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现…

使用树状图可视化聚类

一般情况下,我们都是使用散点图进行聚类可视化,但是某些的聚类算法可视化时散点图并不理想,所以在这篇文章中,我们介绍如何使用树状图(Dendrograms)对我们的聚类结果进行可视化。 树状图 树状图是显示对象…

大模型混战,阿里百度华为谁将成就AI时代的“新地基”?

从算力基础到用户生态,群雄逐鹿大模型 自2022年stable diffusion模型的进步推动AIGC的快速发展后,年底,ChatGPT以“破圈者”的姿态,快速“吸粉”亿万,在全球范围内掀起了一股AI浪潮,也促使了众多海外巨头竞…

微信为什么使用 SQLite 保存聊天记录

SQLite “只是”一个库,它不是传统意义上的服务器。因此,在某些场合下,它确实不合适。但是,在相当多的其他场合,它却是最合适的选择。SQLite 号称是部署和使用最广泛的数据库引擎。我认为这很有可能,因为 S…

10个镜像网站工具箱供你使用,不注册ChatGPT也能免费使用ChatGPT

ChatGPT已经成为了人工智能技术中备受瞩目的一员,它可以为我们带来更加智能化、个性化的交互体验。对于没有ChatGPT账号或者不想注册账号的人来说,他们可能会错过这种神奇的体验。 而本篇文章就帮大家解决这个问题,不用登录ChatGPT账号&…

Doris(9):删除数据(Delete)

Delete不同于其他导入方式,它是一个同步过程。和Insert into相似,所有的Delete操作在Doris中是一个独立的导入作业,一般Delete语句需要指定表和分区以及删除的条件来筛选要删除的数据。 Doris 目前可以通过两种方式删除数据: DE…

使用Schrödinger Python API系列教程 -- 介绍 (一)

使用Schrdinger Python API系列教程 – 介绍 (一) 本文档可从Schrdinger网站www.schrodinger.com/pythonapi访问。 从Python文档字符串生成的完整API文档可以在这里访问 介绍 在最高级别上,Schrdinger Python API提供了一个基本的分子结构类,并允许与…