R绘图 第八篇:绘制饼图(ggplot2)

geom_bar()函数不仅可以绘制条形图,还能绘制饼图,跟绘制条形图的区别是坐标系不同,绘制饼图使用的坐标系polar,并且设置theta="y":

coord_polar(theta = "y", start = 0, direction = 1, clip = "on")

条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_bar()函数中有两个有效值:count和identity。默认情况下,stat="count",这意味着每个条的高度等于每组中的数据的个数,并且,它与映射到y的图形属性不相容,所以,当设置stat="count"时,不能设置映射函数aes()中的y参数。如果设置stat="identity",这意味着条形的高度表示数据数据的值,而数据的值是由aes()函数的y参数决定的,就是说,把值映射到y,所以,当设置stat="identity"时,必须设置映射函数中的y参数,把它映射到数值变量。

geom_bar()函数的定义是:

geom_bar(mapping = NULL, data = NULL, stat = "count",fill=NULL, position="stack")

参数注释:

  • stat:设置统计方法,有效值是count(默认值) 和 identity,其中,count表示条形的高度是变量的数量,identity表示条形的高度是变量的值;
  • position:位置调整,有效值是stack、dodge和fill,默认值是stack(堆叠),是指两个条形图堆叠摆放,dodge是指两个条形图并行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
虽然`ggplot2`主要用于绘制散点图、柱状图和线图等,但也可以用它来绘制饼图。以下是一个简单的例子: 假设有一个数据框`df`,其中包含了各个类别的计数和对应的标签,可以按照以下步骤绘制饼图: 1. 使用`ggplot()`函数创建一个空白图层,例如: ``` library(ggplot2) ggplot(df, aes(x="", y=count, fill=label)) + geom_bar(stat="identity", width=1) + coord_polar("y", start=0) + theme_void() ``` 2. 在图层中添加一个`geom_bar()`图形,并将`x`映射到空字符串、`y`映射到计数、`fill`映射到标签,例如: ``` ggplot(df, aes(x="", y=count, fill=label)) + geom_bar(stat="identity", width=1) ``` 3. 将坐标系设为极坐标,例如: ``` ggplot(df, aes(x="", y=count, fill=label)) + geom_bar(stat="identity", width=1) + coord_polar("y", start=0) ``` 4. 添加一个`theme_void()`主题,去掉所有的网格线和标签,例如: ``` ggplot(df, aes(x="", y=count, fill=label)) + geom_bar(stat="identity", width=1) + coord_polar("y", start=0) + theme_void() ``` 这样就会生成一个带有标签的饼图。如果需要更改饼图的颜色、标题等属性,可以在`ggplot()`函数中传递相应的参数。例如: ``` ggplot(df, aes(x="", y=count, fill=label)) + geom_bar(stat="identity", width=1) + coord_polar("y", start=0) + theme_void() + scale_fill_manual(values=c("red", "blue", "green", "yellow")) + labs(title="My Pie Chart") ``` 这样就会生成一个带有自定义颜色和标题的饼图

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悦光阴

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值