温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言可视化中如何进行表美化与套用

发布时间:2021-11-22 10:40:03 来源:亿速云 阅读:136 作者:柒染 栏目:大数据

R语言可视化中如何进行表美化与套用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

今天分享关于套用主题。

因为单独使用代码来调整单个图表元素,实在是太费劲了,更何况图表的细节元素有那么多,每一个都要单独写一句代码,即便简化后,也是一笔很大的工作量。

所以R社区的开发者就创造出了图表主题包这种半成品的图表模板,通过基础图表输出+套用订制主题来达到高效图表美化的目标。

这里为了图表效果最佳,我不用内置数据集,直接使用代码生成数据框:

data<-data.frame(conpany=c("Apple","Google","Facebook","Amozon","Tencent"),Revenue=c(5000,3500,2300,2100,3100))

R语言可视化中如何进行表美化与套用

以上使用函数生成了2015年五个著名互联网公司的年度营业额数据(数据纯属虚构,无从考证)数据指标。

然后加载我们需要的做图包:特别是grid和ggthemes包将是我们调整与美化图表的主要支撑。

library(ggplot2)

library(ggthemes)

library(grid)

下面我们就可以直接使用ggplot作图了,大家应该还记得昨天的柱形图语法吧:

ggplot(data,aes(reorder(conpany,-Revenue),Revenue))+geom_bar(stat="identity")

R语言可视化中如何进行表美化与套用

ggplot(data,aes(reorder(conpany,-Revenue),Revenue))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")

R语言可视化中如何进行表美化与套用

坦白的说,这个图表足够精准、简洁、实用,无论是用在论文里还是用在报告中,都没有太大问题,至少是不算难看。

可是既然有能做的更美,而又不会浪费太多时间的方法,为啥不用呢~

接下来就是ggthemes包的定制主题大展拳脚的时候了~

我们用以上图表的最初代码再加上特定主题,效果一下子六上天!

主题:theme_bw()

ggplot(data,aes(reorder(conpany,-Revenue),Revenue))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_bw()

R语言可视化中如何进行表美化与套用

主题:theme_wsj()

ggplot(data,aes(reorder(conpany,-Revenue),Revenue))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_wsj()

R语言可视化中如何进行表美化与套用

主题+颜色主题:theme_wsj()+scale_fill_wsj("rgby", "")

ggplot(data,aes(reorder(conpany,-Revenue),Revenue,fill="steelbule"))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_wsj()+scale_fill_wsj()

R语言可视化中如何进行表美化与套用

以上图表套用华尔街日报的主题模板和配色模板,看起来已经很完美了,但是图表中依然有很多不完美的地方,比如刻度线太短、单序列却添加了多余的图例、字体不太符合我们的审美。

下面一个一个解决:

ggplot(data,aes(reorder(conpany,-Revenue),Revenue,fill="steelbule"))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_wsj()+scale_fill_wsj()+geom_text(aes(label = Revenue, vjust = -0.5, hjust = 0.5))+theme(legend.position='none',axis.ticks.length=unit(0.5,'cm'))

R语言可视化中如何进行表美化与套用

以上过程在使用华尔街日报主题及配色包的同时,添加了我们需要的数据标签、删除了无效图例、同时加长了刻度线等图表元素。

其实以上所用到的图表主题内仍然是可以添加可选参数的:

ggplot(data,aes(reorder(conpany,-Revenue),Revenue,fill="steelbule"))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_wsj(color="gray")+scale_fill_wsj("rgby", "")+geom_text(aes(label = Revenue, vjust = -0.5, hjust = 0.5))+theme(legend.position='none',axis.ticks.length=unit(0.5,'cm'))

R语言可视化中如何进行表美化与套用

当然,如果我们找到了更好的一组配色,我们也可以仅仅使用华尔街日报的主题,而使用我们自己准备好的调色板:

ggplot(data,aes(reorder(conpany,-Revenue),Revenue,fill="steelbule"))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_wsj()+scale_fill_manual(values=c("#FB882C","#5B88A0"))+geom_text(aes(label = Revenue, vjust = -0.5, hjust = 0.5))+theme(legend.position='none',axis.ticks.length=unit(0.5,'cm'))

R语言可视化中如何进行表美化与套用

当你厌倦了华尔街日报的风格的时候,你也可以试一试经济学人的风格主题:

ggplot(data,aes(reorder(conpany,-Revenue),Revenue,fill="steelbule"))+geom_bar(stat="identity")+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_economist(base_size=14)+scale_fill_economist()+geom_text(aes(label = Revenue, vjust = -0.5, hjust = 0.5))+theme(legend.position='none',axis.ticks.length=unit(0.5,'cm'))

R语言可视化中如何进行表美化与套用

如果你觉得柱形图的数据条间距太宽,也可以通过在在geom_bar()中利用width=0.65参数进行自定义修改。

ggplot(data,aes(reorder(conpany,-Revenue),Revenue,fill="steelbule"))+geom_bar(stat="identity",width=0.65)+labs(x="Company",y="The Revenue of 2015($)")+ggtitle("The Financial Performance of five giant")+theme_economist(base_size=14)+scale_fill_economist()+geom_text(aes(label = Revenue, vjust = -0.5, hjust = 0.5))+theme(legend.position='none',axis.ticks.length=unit(0.5,'cm'))

R语言可视化中如何进行表美化与套用

其实无论怎么样,虽然套用行业顶级水平的主题可以节省我们很多作图时间,提升作图效率,但是毕竟与自己部门或者企业的风格相差甚远,如果是所在的企业比较重视企业形象或者强调品牌概念的话,最好还是在别人的主题基础上,针对业务要求再做一些局部调整,这样才能即吸收别家的长处,又兼顾自己的特色。

关于R语言可视化中如何进行表美化与套用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI