首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

美化base plot

这个问题,让我想起来了prettyB包,它给我们一键美化的功能,也展示了美化base plot的可能性。base plot还有一个好处,你的代码起码可以保障5年10年都可以用,但ggplot2就可能不太行了,不信你拿两年前的代码出来跑一下:)

虽然我是ggplot2爱好者,但有些ggplot2版本的画图函数实在是不敢恭维,除了可以用themes来改一些细节之外,缺少太多ggplot2的特性,我认为是不能称之为grammar of graphics的。基本上有很多实现还不如原先base plot,而且base plot有大量现成的各种画图函数,涵盖面要比ggplot2多。但是由于base plot的设计比较久远,画出来的图基本上看着像是20年前,不够漂亮,缺少现代化元素。

这里要推荐的是base plot的主题包,prettyB (https://github.com/jumpingrivers/prettyB),虽然目前只有两个主题minimal和expand,但这是一个非常好的尝试,可以让大量现有的画图函数出图效果更加现代化,减少illustrator修图的麻烦。

library(prettyB)

op=par(mfrow=c(1,2))

graphics::plot.default(iris$Sepal.Length,

iris$Sepal.Width)plot(iris$Sepal.Length,iris$Sepal.Width)

载入包之后,默认的行为只会被改变,你用plot的时候,已经是使用主题的了。

效果是明显的,然后可以设置主题:

theme_set("minimal")

graphics::plot.default(iris$Sepal.Length,iris$Sepal.Width,

main="Classic Iris Dataset",xlab="Length",ylab="Width")

plot(iris$Sepal.Length,iris$Sepal.Width,

main="Classic Iris Dataset",xlab="Length",ylab="Width")

结果再画就是这样:

以下是barplot的一个例子。

我认为这是非常好的开端,随着不同主题的开发,base plot可以焕发青春,毕竟对于新手来手,只要知道plot命令就能出图,还是比较友好的。

电梯

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180222G13YLK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券