数据呈现 |Stata+R+Python:一文帮你解决Paper、PPT中的数据可视化问题
数据可视化,是对数据有逻辑思维方式进行视觉呈现的科学技术。如何从数据抽提出来的各种属性和变量信息,将其绘制成“赏心悦目”的图案,是一门艺术。
“文不如表,表不如图”。利用基础数据,掌握好各种图形的绘制方法和技巧,并制作出精美的图案,不仅可以向读者清晰直观的传达从数据析出的结论,而且往往带给人们以美的体验。
如何利用基础数据绘制出让“领导”和“老师”们,现场“瞠目结舌”、背后“啧啧称赞”的漂亮图形呢?本期,我推荐三个网站分别介绍通过热门软件——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
绘图网站千千万,由于个人精力有限,相似专业绘图网站无法完全罗列,内容上也无法面面俱到。个人仅推荐了平时积累到的三家绘图网站,并给出自己拙见,与大家交流。当然,十分欢迎大家进行补充。
利用企研数据资源,给出个人平时部分绘图样例和相关命令,供大家参阅。
国企改革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)
人才战略、创新创业与经济发展
*读入数据
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))
大健康产业企业存续数量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)
历年山东省股权投资笔数
——企研股权互投专题库
##载入包
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
这里是经济学与大数据的交叉路口
作者:企研数据 · 研究中心 · 简华
编辑:青酱
欢迎扫描👇二维码添加关注