R作图之ggplot2包

ggplot2使用的基本框架
这里写图片描述
下面逐一介绍
1.data
data是我们需要可视化的数据,在学习中,我们经常使用R语言自带的diamonds和flights数据源。在data框的范围我们也可以使用mapping(映射),在data框范围使用的属性在后面镶嵌的图层中为默认属性。example

ggplot(data=mpg,mapping=aes(y=hwy,x=class))+
  geom_point()

这里写图片描述
这里的geom_point图层默认继承ggplot中的属性。也就是说,我们可以通过ggplot设置默认的属性,后面镶嵌的图层设置自己独有特殊的属性。
2.geom_function
geom_function有很多种来满足我们不同的作图要求,我们有geom_point,geom_bar
geom_boxplot(箱型图)等,geom_function与mapping是一对,有geom_function必有mapping,mapping代表映射,将数据集的类分别映射到y轴和x轴,在mapping中,会默认的stat_count() y轴的值,如果我们不需要count的话,我们可以将stat设置为identity,这样就会得到y本身的值
example

library(tibble)
tri<-tribble(
  ~a,~b,
  "bar_1",20,
  "bar_2",30,
  "bar_3",40
)
#set a to x,set b to y
#stat需要改为identity
ggplot(data=tri)+
  geom_bar(mapping = aes(x=a,y=b),stat = "identity")

这里写图片描述
mapping=aes(x=,y=,color=,clarity(透明度)=)这些都是mapping的默认属性
注意,R中作图是图层的堆积,如果是选择做条形图的话,color无法给条形图附上颜色,必须用fill给条形图附上颜色

postion
这里写图片描述
postion是对条形图位置调整,有以上四种方法。

COORDINATE_FUNCTION
这部分是关于坐标的选取和变换,ggplot2默认的是笛卡尔坐标系,我们也可以使用极坐标系,用coord_polar()将笛卡尔坐标系转化为极坐标系

bar<-ggplot(data=diamonds)+
  geom_bar(mapping = aes(x=cut,fill=cut),show.legend = F,width = 1)

#不要标签+极坐标
bar+labs(x=NULL,y=NULL)+coord_polar()

这里写图片描述
坐标函数
这里写图片描述
下面是关于如何形成百分比的例子

ggplot(data=diamonds)+
  geom_bar(mapping = aes(x=cut,y=..prop..))

将映射的y轴属性设置为prop(百分比)即可,然后结果显示的每个组别的百分比都是100%,这是怎么回事呢?
这里写图片描述
分析cut

> unique(diamonds$cut)
[1] Ideal     Premium   Good      Very Good
[5] Fair     
5 Levels: Fair < Good < ... < Ideal

cut是因子,在映射到x轴时,R语言自动将其分为5个组,自然每个组的百分比都为1了。
然后我们只需要把group属性设置为1即可

ggplot(data=diamonds)+
  geom_bar(mapping = aes(x=cut,y=..prop..,group=1))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值