查看原文
其他

数据呈现 |Stata+R+Python:一文帮你解决Paper、PPT中的数据可视化问题

企研数据研究中心 数据Seminar 2021-06-03

数据可视化,是对数据有逻辑思维方式进行视觉呈现的科学技术。如何从数据抽提出来的各种属性和变量信息,将其绘制成“赏心悦目”的图案,是一门艺术 

“文不如表,表不如图”。利用基础数据,掌握好各种图形的绘制方法和技巧,并制作出精美的图案,不仅可以向读者清晰直观的传达从数据析出的结论,而且往往带给人们以美的体验。

如何利用基础数据绘制出让“领导”和“老师”们,现场“瞠目结舌”、背后“啧啧称赞”的漂亮图形呢?本期,我推荐三个网站分别介绍通过热门软件——Stata、R和Python,可以绘制出精美图形的方法和技巧,供大家参考。


1


Stata | Graphics

https://www.surveydesign.com.au/tipsgraphs.html

上面推荐的【Stata绘图】网址,共展示了200多幅变化多样、形态各异的Stata图样和命令(每幅图样,点开“+Expand”即可查看具体stata代码)。下面仅展示两幅图例,供大家预览。

stata中zmap图样和命令:

     

▎stata中sequence plot图样和命令:


整个网址stata图样,涉及到数据样本,既有截面和时间序列数据,也有面板数据。图形范例,不仅包含了初级图形,如柱状图、折线图、散点图和饼图等,也囊括了中高级图形,如密度图、热力图、马赛克图和航线图等,内容十分丰富,完全满足各位师生需求。


2


►R | Graphics:

https://www.stat.auckland.ac.nz/~paul/RGraphics/rgraphics.html

     

如果你是【R绘图】“菜鸟”,但又想了解一些其他别类的绘图技巧。除了看一些常见ggplot2工具书外,还可以从Paul Murrel网站学习一下相关绘图知识。里面大概有七章内容分别介绍了R Graphics图形和命令。下面仅展示Chapter 1中部分图样的细节,如有兴趣去该网站访问此界面,并点开蓝色“Rcode”即可预览相关R代码。


3


Python | Graphics:

https://pyecharts.org/#/zh-cn/intro


最后,如果你是学习【Python绘图】兴趣者,那么我就要极力推荐pyecharts了。里面的绘图教程,一步步详细介绍了每幅图从简单成型到进阶渲染,再到炫酷主题等操作过程和代码调用,可谓“步步贴心”。

▎python绘图:简单成型

     

python绘图:炫酷主题

图形好看,但想要绘制出理想的效果,并直观表达出数据所析出的结论,必须深刻地理解我们研究的主题,利用已有数据包含的信息,观其结构,查其维度,潜心勤加练习每幅图绘制技法,做到“他山之石,可以攻玉”。



最后,方便大家查询,再次给出上面三个软件的绘图网址:



Stata | Graphics:https://www.surveydesign.com.au/tipsgraphs.html

R | Graphics:https://www.stat.auckland.ac.nz/~paul/RGraphics/rgraphics.html

Python | Graphics:https://pyecharts.org/#/zh-cn/intro


     

绘图网站千千万,由于个人精力有限,相似专业绘图网站无法完全罗列,内容上也无法面面俱到。个人仅推荐了平时积累到的三家绘图网站,并给出自己拙见,与大家交流。当然,十分欢迎大家进行补充。


文末福利


利用企研数据资源,给出个人平时部分绘图样例和相关命令,供大家参阅。


Stata样例1

国企改革40年,国有工业企业在不同时期下数量变化

*读入数据

use  "C:/Users/qiyandata/firm_num.dta",clear

*定义时间序列

tsset year

*绘制图形

twoway ///

function y=15.705,range(1993 2002) recast(area) color(gs12) base(-0.705)|| ///

function y=15.705,range(2013 2018) recast(area) color(gs12) base(-0.705)|| ///

function y=0,range(1978 2017) lstyle(grid)|| ///

function y=5,range(1978 2017) lstyle(grid)|| ///

function y=10,range(1978 2017) lstyle(grid)|| ///

function y=15,range(1978 2017) lstyle(grid)|| ///

function y=1998,range(-0.705 15.705) horizontal lstyle(grid)|| ///

tsline firm_num if tin(1978,2018),xlabel(1978(5)2018) lstyle(p1) ///

legend(order(5 1 "Recession")) tlabel(,grid) scheme(s2color)



Stata样例2

人才战略、创新创业与经济发展

*读入数据

use  "C:/Users/qiyandata/IE.dta",clear

*绘制图形

twoway ///

(scatter lnRD index [fweight= GDP] , msymbol(Oh) )(qfit  lnRD index) ///

(scatter lnRD index,xtitle("R&D人员全时当量(人年)对数") ytitle("创新创业指数(2017年)") mlabel( province ) ms(i))



R样例1

大健康产业企业存续数量2018

——企研大健康产业专题库

#加载包

library(openxlsx)

library(REmap)

#导入数据

hdata<-read.xlsx('C:/Users/qiyandata/Health2018.xlsx',1)

#绘制企业存续数量热力图

hplot<-remapC(hdata,

        maptype = 'china',

        color = c('red','yellow'),

        theme = get_theme('Bright'),

        title = "2018年存续企业数量分布",

        subtitle = "单位:万家",

        markPointTheme = markPointControl(),

        mindata = 0,

        maxdata =10)

plot(hplot)



R样例2

历年山东省股权投资笔数

——企研股权互投专题库

##载入包

library(openxlsx)

library(tidyverse)

library(lubridate)

library(gganimate)

##读取数据

invent_data<-read.xlsx('C:/Users/qiyandata/invent_data.xlsx')

##绘制动图

ggplot(invent_data,aes(invent_in,invent_out,color=ind_name))+

        geom_text(aes(label=ind_name))+##添加数据文本标签

        theme(legend.position="none")+##关闭图例

        labs(title='Year:{frame_time}',x="外来投资笔数",y="对外投资笔数")+

        transition_time(year)+ease_aes('linear')



往期推荐


工具技巧 | 用Python3处理数据:“import”可以这样自由地调度函数?(内附代码)

特别推荐 | 从股权投资视角看,山东省经济怎么了?

特别推荐 | 粤港澳大湾区企业发展研究系列报告之一重磅发布!





数据Seminar

这里是经济学与大数据的交叉路口


作者:企研数据 · 研究中心 · 简华

编辑:青酱



    欢迎扫描👇二维码添加关注    




      

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存