鲜花( 1) 鸡蛋( 0)
|
赶紧注册,享受更多功能!查看帖内大图!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编程技术R语言函数与模型之数据可视化解读与研究(图)
可视化不是数据分析的核心,但却是数据分析不可或缺的部分。数据可视化在商业领域的重要性不言自明,在科学研究中更好的呈现数据也是优秀研究报告和论文的评价标准之一,很难想象存在未经修饰图表的论文会发表在质量较好的期刊上。上个月与数据分析友人探讨数据可视化,一句话令我印象深刻,“字不如表,表不如图”,深以为然。R软件进行可视化有基础包,几乎覆盖了全部常用图形的呈现。然而基础包对图形元素的精细控制远不如ggplot2包。我们今天推送的数据可视化以ggplot2包为基础。
数据可视化的内容无外乎是数据及数据映射。在绘图之前数据肯定是已经整理完成,所以数据可视化的核心在于数据映射(可以理解为函数的映射,从单个数据点x到电脑屏幕的y)。实现数据映射包括映射位置(坐标轴)和映射形式(点、线、面)。坐标轴控制了数据点与位置标准的相对位置,映射形式就是需要绘制的图形。ggplot2包的优势在于可以自定义图形绘制的各个元素,其劣势在于自定义极其繁琐。
编程技术R语言函数与模型之数据可视化解读与研究(图)
###首先定义数据来源。在使用ggplot()函数时,我们建议只在其中定义数据来源
p=ggplot(figure_czb_industry)
###接下来定义图形主题。主题的设置包括画板plot、绘图区panel、坐标轴axis、图例legend等,按照对象的内容特征可以分为矩形、线、文本等,分别由element_rect()、element_line()、element_text()函数控制。element_rect()函数控制矩形区域填充颜色、边框颜色、边框粗细、边框线型等。elemnt_line()函数控制线条的颜色、线条粗细、线型等。element_text()函数控制字体、字型、颜色、大小、角度和位置等。
p+theme(plot.background=element_rect(fill="grey90",color="grey"),
panel.background=element_rect(fill="grey95",color="black",linetype="solid"),
axis.text.y=element_text(size=7.5,face="bold",hjust=-0.3,vjust=0.5),
axis.text.x=element_text(size=7.5,face="bold",hjust=0.5,vjust=-1,angle=270),
axis.title=element_text(size=10,face="bold"),
axis.ticks.x=element_blank(),axis.ticks.y=element_line(colour="black",size=0.75),
axis.ticks.length=unit(-0.1,"cm"),
axis.line=element_line(color="black",size=0.75),
panel.grid=element_line(color="red"),
legend.position='none',
plot.title=element_text(size=15,face="bold",hjust=0.5,vjust=0.5))+
geom_boxplot(aes(x=industry,y=invest,colour=industry))+
ylim(0,800)+
labs(title="财政部典型行业PPP项目分布",x=NULL,y="PPP项目投资金额")
###ggplot2包绘制图形使用+来叠加内容,如ggplot()+theme()+geom_boxplot()+ylim()+labs()等,分别控制图形数据、数据映射主题、数据映射形式、坐标轴范围和标题等内容。建议通过ggplot()函数和geom_boxplot(aes(x=, y=))将数据和映射分离,前者只定义数据的来源,后者通过具体的图形形式控制x轴和y轴变量,骆驼祥子读后感心得体会,更好的做法是在geom_boxplot()之前定义主题和坐标轴,在其之后定义名称。
如果无需自定义图形或者不想过于关注图形主题搭配,那么可以加载ggplot2的内置主题以及扩展主题包ggtheme,分别有9种和19种主题可供选择,ggtheme包还提供了Excel软件主题、Stata软件主题、Google主题、Economist杂志主题、WSJ报纸主题等。
从上面的效果来看,使用内置主题(左起第一排为ggplot2内置主题,左起第二排为三大杂志报纸主题,左起第三排为其它软件主题)可能对单个图形展示有效,但对多图展示则比较糟糕了。因此掌握ggplot2主题修改对于数据可视化裨益良多。自定义主题的优势是,一旦已经找到了适合的主题,就真的实现一劳永逸了,ggplot2绘图任务比基础包还要轻松。
掌握基本数据可视化技巧虽然可以改善数据呈现的效果,但数据可视化不能指望有任何捷径可寻,须日积月累,不断尝试各种搭配,很遗憾我没有找到这一样一种自定义主题,所以也无法与大家共享。虽然撰写了三年宏观经济形势分析报告,绘制了大量图形,但对于颜色等的搭配,我感觉自己依然是个门外汉,这也是尚待突破的瓶颈。作者:许坤
|
|