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

按数据框中的百分比填充ggplot中的geom_bar

在ggplot中,可以使用geom_bar函数来创建柱状图。该函数可以通过fill参数来指定填充颜色,而百分比填充则可以通过设置数据框中的百分比值来实现。

具体步骤如下:

  1. 首先,需要将数据框中的百分比值转换为数值类型。可以使用as.numeric函数将百分比值转换为小数。
  2. 接下来,使用ggplot函数创建一个绘图对象,并将数据框作为数据源传入。
  3. 使用geom_bar函数添加柱状图层,并通过fill参数设置填充颜色。
  4. 最后,使用scale_y_continuous函数设置y轴为百分比格式。

以下是一个示例代码:

代码语言:txt
复制
# 导入ggplot2包
library(ggplot2)

# 创建数据框
df <- data.frame(
  category = c("A", "B", "C", "D"),
  percentage = c(20, 30, 40, 10)
)

# 将百分比值转换为小数
df$percentage <- as.numeric(df$percentage) / 100

# 创建绘图对象
p <- ggplot(df, aes(x = category, y = percentage))

# 添加柱状图层
p <- p + geom_bar(stat = "identity", fill = "blue")

# 设置y轴为百分比格式
p <- p + scale_y_continuous(labels = scales::percent)

# 显示图形
print(p)

在上述示例代码中,我们假设数据框中有一个名为"category"的列用于表示不同的类别,另一个名为"percentage"的列用于表示百分比值。我们将百分比值转换为小数,并使用geom_bar函数创建柱状图层,通过fill参数设置填充颜色为蓝色。最后,使用scale_y_continuous函数将y轴格式设置为百分比格式。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。同时,腾讯云提供了云计算相关的产品,例如云服务器、云数据库、云存储等,你可以根据具体需求选择适合的产品。具体的产品介绍和链接地址可以在腾讯云官方网站上找到。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

这些条形图用法您都知道吗?

(如轴信息、边框色、填充色等),但要求属性值来自于原始绘图数据data; data:指定绘图所需原始数据,如果使用默认NULL值,则图形数据将来自于ggplot函数;如果指定一个明确数据,则该数据将覆盖...ggplot函数所指定数据; stat:借助于该参数控制绘图数据统计变换,默认为'count',表示计数(前提是绘图数据为明细数据);如果指定为'identity',表示直接使用原始数据绘制y轴(...ggplot函数数据与geom_*函数数据存在冲突时,可以将该参数设置为FALSE; 为使读者进一步理解和掌握上面所介绍函数,接下来利用如上geom_bar绘制几种常见条形图。...' # 填充色为铁蓝色 ) + # 删除x轴标题 labs(x = '')# 绘制有序条形图 p2 <- ggplot(data = df, # 要求x轴省份..., fill = fengli) # 指定x轴变量和填充色变量 ) + geom_bar(stat = 'count' # 需对明细数据离散变量作频数统计 ) +

5.5K10

文献配套GitHub发表级别绘图之饼图

此外,图形还可能包含数据统计变换(statistical transformation,缩写stats),最后绘制在某个特定坐标系(coordinate system,缩写coord),而分面(...其中柱状图就用geom_bar函数。除此之外,ggplot2提供了众多几何对象geom_xyz()供大家选择,完整几何对象可以下载RStudio公司总结ggplot2 cheetsheet。...四、玫瑰图 然而,当我们数据不是代表个体占总体百分比,而是强调数据大小对比时,可以用玫瑰图来展示,根据上面的代码做简单修改即可。..., Colors){ library(ggplot2) library(scales) library(RColorBrewer) #构建数据结构 data <- data.frame...(acs) # labelposition=0.1 百分数小于10%,标签位于外部 # ratioByGroup=FALSE 不同分组计算百分比 PieDonut(acs,aes(pies=Dx,donuts

2K20
  • ggplot2绘图(R_03)

    注意:代码可运行却画不出图——因为画板被占用,解决方法:多次运行dev.off(),到null device为止 画图思维:1.我数据适合什么样图?...()箭头 axis()坐标轴 box()外 title()标题 text()文字 #1.基础包 plot(iris[,1],iris[,3],col = iris[,5]) #iris为数据,以...,x=和y=分别表示行名和列名,Sepal.Length为数据列名 属性 参数 颜色 color 大小(单位mm) size 透明度 alpha 填充颜色(1-20均用不到fill函数)) fill...=1))#点形状 二.柱状图 ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut))#自动统计x出现次数作为纵坐标 ggplot...) + geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))#group=1表示cut所有组作为一个整体,百分比相加等于1 三

    23520

    是Excel图,不!是R

    图层需要指定数据集,数据集中内容(ase数据),geom_图形,stat统计转换,position图形位置 柱形图——geom_bar,注意position参数 ggplot(df1,aes(var,...="fill",width=0.8)+ labs(title="百分比堆积柱状图") ggplot(df1,aes(var,value))+ geom_bar(aes(fill=item),stat...") # 雷达图就是极坐标转换后普通柱形图,加了透明背景,相当于其他透明图 ggplot(df1,aes(id,value,colour=item))+ geom_bar(stat="identity...直方图 直方图是先把数据划分区间,从小到大顺序排列,并以柱状图形式表现 ggplot(df1,aes(value))+ geom_histogram(bins=5,colour="white...") # 映射value表达值,边界是白色 # 排列图(数据从小到大排列) df_tmp2% select(1:3) %>% # 前三列 arrange(a) %>% #列a

    4K20

    ggplot2画密度分布图取值范围填充不同颜色

    之前发过一篇推文 ggplot2画散点图拼接密度图 模仿下面这幅图片。但是遇到一个问题是如何给密度图某一个部分填充不同颜色,就像下面的图片被红色方框圈住部分。 ?...- STHDA 首先是最基本密度分布图 第一步是构造数据 x<-rnorm(500,0,1) df<-data.frame(x) df 基本密度分布图 ggplot(df,aes(x))+ geom_density...image.png 这里需要注意一个问题是默认Y轴是小数,应该是某个值占所有的数据比例,如果要把它改成频数可以加stat="bin"参数 ggplot(df,aes(x))+ geom_density...image.png 上面的图如果想要给x小于-2和大于2填充另外一种颜色改如何实现呢?...image.png 欢迎大家关注我公众号 小明数据分析笔记本

    2.6K30

    了解绘制条形图和折线图细节

    本章将以ggplot2为主进行学习啦~~ ---- 3.1 绘制基本条形图 Q:当你有一个包含两列数据,一列为x轴上位置,一列为y轴上对应高度,基于此如何绘制条形图?...参数用来指定填充色,并且必须使用dodge使两组数据在水平上错开排列,# 这里映射变量需要是分类变量ggplot(cabbage_exp,aes(x=Date,y=Weight,fill=Cultivar...,同时相近条形会自动填充到相应位置 3.3 绘制频数条形图 Q:如果每行数据对应一个样本那么如何针对样本频数绘制条形图?...A:将合适变量映射到填充色fill上即可 #使用uspopchange数据集,该数据集包含了美国人口2000-2010之间变化 State Abb Region...A:运行geom_area()函数绘制面积图 #sunspots数据集记载了1700-1988年之间太阳黑子数 #设置数据使得数据处理更加方便 sunspotyear <- data.frame(

    7K10

    数据挖掘知识脉络与资源整理(九)–柱形图

    三维百分比堆积柱形图以三维格式显示垂直百分比堆积矩形,而不以三维格式显示数据。当有三个或更多数据系列并且希望强调所占总数值大小时,尤其是总数值对每个类别都相同时,您可以使用百分比堆积柱形图。...三维柱形图 三维柱形图使用可修改三个轴(水平轴、垂直轴和深度轴),可对沿水平轴和深度轴分布数据点(数据点:在图表绘制单个值,这些值由条形、柱形、折线、饼图或圆环图扇面、圆点和其他被称为数据标记图形表示...(x = Time, y = demand)) + geom_bar(stat = "identity") 看看有什么区别,在第二个图形,数据time没有6这个值,但是图形X轴还是画出来了,这就是对于分类变量和连续变量不同...") 看看如何给条形图上色:运用fill=" ",我们发现,fill是填充色,colour是边框色,(这里colour是英式英语颜色写法,等价于美式英语color) ggplot(pg_mean, aes...,这列变量同一水平因子有好几个,那么我们画条形图时,一般采用频数型,这时用水平出现频数当做bar高度.stat="bin"当然也可以不写,因为geom_bar默认是bin ggplot(diamonds

    3.7K100

    ggplot2:堆叠柱状图

    下面是墨眉 《共享我们大脑 》 投稿 全部代码都是复制粘贴即可运行 在数据展示时为了体现各因素比重(百分比),有时会用到堆叠柱状图,这里介绍下用 ggplot2 画堆叠柱状图代码和相应美化方法...一、数据准备 为了省事我加载了R自带一个数据,有30个样本,7个观测值 data_test = datasets::attitude # 这个数据长这样,很普通,普普通通 ?...# 因为后面想要做百分比堆叠柱状图,先查看这个数据适不适合 statistics = apply(data_test, 1, sum) # 得到每个样本观测值总和 plot(statistics...# 每个样本累加值不相等,不能直接用来做百分比柱状图,需要转换下 # 不过这段仅仅是为了作图好看,已经准备好数据可以不看下面的处理 data_percent = data.frame() # 建立空数据...library(ggplot2) p = ggplot( data_plot, aes( x = name, weight = percent, fill = attitude))+ geom_bar

    7.4K41

    R语言 | 条形图绘制

    本次内容介绍条形图绘制,包括基本条形图、簇状条形图、频数条形图、堆积条形图、百分比条形图。 下次将介绍如何对条形图着色、调整条形图宽度和间距、添加数据标签等内容。...1绘制基本条形图 演示数据 以gcookbook包pg_mean数据集为例。...)函数对图例顺序进行调整,指定图例所对应需要调整图例属性,本例对应填充色(fill)。...= T)) + guides(fill=guide_legend(reverse = T)) 4 绘制百分比条形图 演示数据 同上,以gcookbook包cabbage_exp数据集为例,该数据集包含两个分类变量...(labels = scales::percent) 输出图片 5 绘制频数条形图 演示数据ggplot2包diamonds数据集为例。

    2.2K20

    R语言学习 - 柱状图

    # 给定数据,和x轴、y轴所在列名字 # 直接使用geom_bar就可以绘制柱状图 # position: dodge: 柱子并排放置 p <- ggplot(data_m, aes(x=gene,...纵轴显示改为百分比 p <- ggplot(data_m, aes(x=variable, y=value)) + geom_bar(stat="identity", position="fill...在柱子中标记百分比值 首先计算百分比,同样是group_by (按照给定变量分组,然后组操作)和mutate两个函数(在当前数据表增加新变量) # group_by: 按照给定变量分组,然后组操作..., 纵轴显示改为百分比 # position="fill" 展示是堆积柱状图各部分相对比例 # position="stack" 展示是堆积柱状图原始值,可以自己体现下看卡差别 p <- ggplot...(计算百分比值需要注意了, 文本显示位置还是跟之前一致) # group_by: 按照给定变量分组,然后组操作 # mutate: 在当前数据表增加新变量 # 第一步增加每个组 (Group和Condition

    2.5K50

    这个数据向上填充时候 有没有办法设置不在这个分组就不填充

    一、前言 前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个pandas数据提取问题,一起来看看吧。 大佬们请问下这个数据向上填充时候 有没有办法设置不在这个分组就不填充?...她还提供了自己原始数据。...二、实现过程 这里【隔壁山楂】给了一个思路:使用groupby填充,sort参数设置成False,得到结果如下所示: 不过对于这个结果,粉丝还是不太满意,但是实际上根据要求来的话,确实结果就该如此...顺利地解决了粉丝问题。 三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Pandas数据处理问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    22130

    R语言学习笔记——柱形图

    今天给大家介绍ggplot函数中柱形图用法(一大家子呢,单序列柱形图、簇状柱形图、堆积柱形图、百分比堆积柱形图、以及分面柱形图)。...单序列柱形图: ggplot(mpg,aes(class,displ))+geom_bar(stat="identity",fill="steelblue") 以上参数,mpg是数据集名称,aes内参数依次是...geom_bar是在ggplot坐标系系统之上添加柱形图图层,stat是对其中数值型变量所做统计变换(默认为count),fill是颜色填充设定,可以是某一分类变量,也可以直接映射为颜色。...如果我们想要观察每一个品类两年度所占份额百分比,同样也可以通过修改position参数实现。...通过设定柱形图填充顺序与图例显示顺序,使得图例颜色顺序与图表中一致。

    3.5K130

    R绘图-ggplot2(1)

    ), 1000), ] ##查看数据情况 head(small) summary(small) #画图实际上是把数据变量映射到图形属性上。...ggplot(small)+geom_histogram(aes(x=price)) #同样可以根据另外变量给它填充颜色,比如按不同切工: ggplot(small)+geom_histogram(...#当然你想提供也是可以,通过stat参数,可以让geom_bar指定高度画图,比如以下代码: ggplot()+geom_bar(aes(x=c(LETTERS[1:3]),y=1:3), stat...而柱状图是分类数据类别计数。我们可以用前面直方图参数来画side-by-side柱状图,填充颜色或者比例画图,它们是高度一致。...#柱状图是用来表示计数数据,但在生物界却被经常拿来表示均值,加上误差来表示数据分布,这可以通常图层来实现,我将在图层一节给出实例。

    1.1K20

    温故而知新,ggplot2 饼图几点笔记

    对于并列柱状图 p,以最大 y 值作为 360 度弧度,剩下比例类推,由于 p A、B、C 是等长,所以在 p1 它们半径是 1:2:3。...饼图中添加文字位置控制 - 借助公式 绘制饼图过程,利用 ggplot2 geom_bar 结合 coord_polar 实现。...为了确定数据填充先后,同时方便在不同区域上填写上对应数据大小,所以会先去创建有序因子,从而使数据列 dat$Num 自然顺序和因子顺序在一定程度上一致(一致同向对应或反向对应)。...虽然在 dat 数据设置是顺序一致方向相同对应,但图片分布中会改变。...在画饼图过程设定填充因子方向总和图片坐标方向相反,不过因子顺序和数据 dat$Num 对应关系是正向对应或者反向对应,会影响相关区块中心位置值计算方式,从而影响 geom_text

    1.3K10

    从零开始异世界生信学习 R语言部分 05 作图-1

    语法 图片 3.1入门级基础语法规则 图片 ggplot2特殊语法规则:列名不带引号,行末写加号(加号表示不同函数之间连接) library(ggplot2) #1.入门级绘图模板:作图数据,横纵坐标...5mm alpha = 0.5, # 透明度 50% shape = 8) # 点形状 图片 3.2.2 映射:按照数据某一列来定义图某个属性...图片 #2.2 映射:按照数据某一列来定义图某个属性 ggplot(data = iris)+ geom_point(mapping = aes(x = Sepal.Length,...,manual应该就有几个颜色取值 图片 图片 ## Q2 区分color和fill两个属性 ##color是颜色,fill是填充颜色 ### Q2-1 空心形状和实心形状都用color设置颜色(形状...,其中按照内置数据letters(26个小写字母)1-5(A-E)可重复取150个值 图片 3.2.4 几何对象 指一个以geom开头函数画出来所有东西称为一个几何对象,也称为了一个图层 几何对象可以叠加

    76300
    领券