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

我想要为直方图ggplot2中的每个柱状图计算“真”的百分比

在ggplot2中,为每个柱状图计算“真”的百分比可以通过以下步骤实现:

  1. 首先,确保你已经安装了ggplot2包,并加载它:
代码语言:txt
复制
install.packages("ggplot2")
library(ggplot2)
  1. 创建一个数据框,包含你要绘制直方图的数据。假设你有一个名为data的数据框,其中包含一个名为x的变量:
代码语言:txt
复制
data <- data.frame(x = c(1, 2, 2, 3, 3, 3, 4, 4, 4, 4))
  1. 使用ggplot函数创建一个基础的直方图,并将x变量映射到x轴上:
代码语言:txt
复制
p <- ggplot(data, aes(x = x))
p <- p + geom_histogram()
  1. 添加一个统计变换函数,用于计算每个柱状图的“真”的百分比。在这里,我们使用stat_bin函数,并将参数设置为binwidth = 1,使每个柱状图表示一个唯一的值:
代码语言:txt
复制
p <- p + stat_bin(binwidth = 1, geom = "text", aes(label = paste(round((..count..)/sum(..count..)*100, 2), "%", sep = "")), vjust = -0.5)
  1. 最后,使用print函数打印出图形:
代码语言:txt
复制
print(p)

这样,你就可以得到一个包含每个柱状图“真”的百分比的直方图。注意,这里使用的是ggplot2中的内置统计变换函数stat_bin,它会自动计算每个bin的频率,并将其作为..count..变量提供给geom_text函数。在aes函数中,我们使用paste函数将百分比值和百分号连接起来,并使用round函数将百分比值四舍五入到两位小数。vjust参数用于调整文本的垂直位置,使其位于柱状图的顶部。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云计算服务:https://cloud.tencent.com/product
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网:https://cloud.tencent.com/product/iot
  • 腾讯云移动开发:https://cloud.tencent.com/product/mpp
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ggplot2:堆叠柱状图

下面是墨眉 《共享我们大脑 》 投稿 全部代码都是复制粘贴即可运行 在数据展示时为了体现各因素比重(百分比),有时会用到堆叠柱状图,这里介绍下用 ggplot2 画堆叠柱状图代码和相应美化方法...# 因为后面想要做百分比堆叠柱状图,先查看这个数据适不适合 statistics = apply(data_test, 1, sum) # 得到每个样本观测值总和 plot(statistics...# 每个样本累加值不相等,不能直接用来做百分比柱状图,需要转换下 # 不过这段仅仅是为了作图好看,已经准备好数据可以不看下面的处理 data_percent = data.frame() # 建立空数据框...二、ggplot2柱状图 作图前有个很重要前置动作,要把宽矩阵转换为长矩阵(具体名词解释可以百度,关键原因是计算机和人识别习性是不同) library(reshape2) data_plot =...四、观测值和样本排序 然后是排序问题,如果调整不同类型柱子顺序,让他们按大小排序,可以用factor 函数 order_x = apply( data_percent[,1:7], 2, sum

7.4K41

R绘图-ggplot2(1)

#geom_point()完成就是几何对象映射,ggplot2提供了各种几何对象映射,如geom_histogram用于直方图,geom_bar用于画柱状图,geom_boxplot用于画箱式图等等...y=price, shape=cut, colour=color)) ###重要:ggplot2支持图层,通常把不同图层中共用映射提供给ggplot函数,而某一几何对象才需要映射参数提供给geom_xxx...数目在这里不用提供,因为ggplot2会通过x变量计算各个分类数目。...="identity") #柱状图直方图是很像直方图把连续型数据按照一个个等长分区(bin)来切分,然后计数,画柱状图。...#柱状图是用来表示计数数据,但在生物界却被经常拿来表示均值,加上误差来表示数据分布,这可以通常图层来实现,将在图层一节给出实例。

1.1K20
  • 56-R可视化-5-ggplot2基石三部曲之基础二

    开始前 主要为ggplot2 后四个部分内容。 geometries 几何对象 不同几何对象 image.png 几何对象叠加 几何对象本质,也就是画面上不同图层。...因此某种程度来说,统计变换对应函数和几何对象对应函数差别不大。 geom_bar 相当于默认帮助我们以cut 列作为统计对象,对diamonds 表格进行频数计算。...x,y 时,需要设定参数 stat ,其默认参数为 count (也正因此geom_bar 对应stat_count),它会计算出选择对象在出现频数作为y。...若希望显示出不是频数,而是频率,则可以通过为y 赋值,将直方图计算统计结果重新映射给比例 ..prop.. 。...散点图 jitter 通过为本来重叠在同一位置点添加随机“抖动”,使重叠点产生错位,也因此能够完全地显示在图像里。 柱状图 dodge 可以让组直方图并列显示。

    1.9K20

    如何通过Google来使用ggplot2可视化

    两年多过去了,本身工作需要亲自来画图机会非常少,所以我可视化能力毫无进展,甚至有小幅度后退。...大家由最近直播基因组45—55讲应该可以看得出来,可视化方面的确很弱,但我还是分享一下自己是如何通过google来使用ggplot做可视化!...在ggplot2,你首先利用 qplot()完成类似于基本绘图系统 plot操作,参数包括 geom/asethetics等;随后你可以利用 ggplot()这个核心实现 qplot()所无法实现得功能...geom_point()完成就是几何对象映射,ggplot2提供了各种几何对象映射,如 geom_histogram用于直方图, geom_bar用于画柱状图, geom_boxplot用于画箱式图等等...=cut), position="fill") 直方图只需要一个数据,自动分组来得到X,Y轴变量,直方图把连续型数据按照一个个等长分区(bin)来切分,然后计数,画柱状图 3.条形图 以上两个等价

    1.9K80

    数据可视化基本套路总结

    依然很拉风,简书《数据可视化》专栏维护者,里面有很多优秀文章,本文便是其中一篇。...(排序宗旨是直观表达出展示规律) 条形图 ? 条形图 只不过把柱状图坐标旋转一下,竖着变成横着,这个可根据版面自由选择。上图示例就是串列堆叠条形图。 南丁格尔玫瑰图 ?...尝试运行example(mosaic),可以了解更多马赛克图细节。 直方图 ? 直方图 直方图看起来跟柱状图很像,但其实本质并不一样 (这一点需要注意)。...而R也有相关包可以把ggplo2图形变成交互式,弥补了ggplot2本身不能交互弱点。...一句话不说,那是坠吼。但是看到你们这么热情,一句话不说也不好。 (来源:https://www.jianshu.com/p/1f9db668a8c2,已获授权)

    2.6K20

    R语言作图基础20230206

    一、常用可视化包1)作图包base:ggplot2:ggpubr:2)拼图包par里面的mfrowgrid.arrangecowplotcustomLayoutpatchwork二、基础包绘图函数图片...即x轴数据是Sepal.Length,y轴数据Petal.Length,不需要加引号(以上代码数据映射放在了具体geom_point函数,如果整体映射是一致,可以把映射放到ggplot()...,这样子如果没有特殊情况,后面的绘图函数不需要重新映射,但是如果映射在geom_开头函数,每一个函数都需要重新映射) 例如:> ggplot(data=iris,mapping = aes(x =...,geom_function映射只能在局部使用7)柱状图/直方图 (y轴无需映射)ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut)...) #常用于统计个数,y轴会根据x轴自动计算图片也可以把count改成prop,计算百分比>ggplot(data = diamonds) + geom_bar(mapping = aes(x =

    1.5K32

    《Learning ELK Stack》7 Kibana可视化和仪表盘

    举个例子,如果指定@timestamp字段作为桶,且时间区间为一周,那么文档将基于每周数据分组,然后可以对分组后文档计算度量,如计数、求平均值等 直方图 直方图与日期直方图相似,除了要求指定字段和区间都是数字类型...例如,可以根据产品类型来进行分组,并获得每个产品类型前五名 ? 度量 度量是对每个字段值进行计算 例如计算文档总数、平均值 、最小值 或最大值 。...Ranks(百分比等级) Count 是非常重要度量聚合函数,它主要目的是计算在桶聚合里每个字段值 数量。...相应地为聚合数字字段计算平均值、求和、最小值 和最大值 Unique Count 类似于SQLCOUNT (DISTINCT fieldname)功能,计算出字段唯一值数量 ?...饼图 通常用于显示整体各个部分或者其百分比关系。饼图中片代表了数据分布。饼图中片值 是由度量聚合决定,例如Count、Sum,或者Unique Count。桶聚合则定义了图表数据类型。

    2.8K31

    python数据可视化从入门到实战_大数据可视化概念

    大家好,又见面了,是你们朋友全栈君。 依然很拉风,简书《数据可视化》专栏维护者,里面有很多优秀文章,本文便是其中一篇。...(排序宗旨是直观表达出展示规律) 条形图 条形图 只不过把柱状图坐标旋转一下,竖着变成横着,这个可根据版面自由选择。上图示例就是串列堆叠条形图。...尝试运行example(mosaic),可以了解更多马赛克图细节。 直方图 直方图 直方图看起来跟柱状图很像,但其实本质并不一样 (这一点需要注意)。...而R也有相关包可以把ggplo2图形变成交互式,弥补了ggplot2本身不能交互弱点。...作者:依然很拉风,简书作者。一句话不说,那是坠吼。但是看到你们这么热情,一句话不说也不好。

    88130

    数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)

    在DataFrame柱状图将每一行值分组到并排柱子一组。...回到本书之前使用数据集,假设我们想要绘制一个堆积柱状图,用于展示每个派对在每天数据点占比。...现在让我们看下使用seaborn进行按星期几数值计算小费百分比(见图9-19结果图): In [83]: import seaborn as sns In [84]: tips['tip_pct']...数据点被分成离散,均匀间隔箱,并且绘制每个数据点数量。...▲图9-21 小费百分比直方图 密度图是一种与直方图相关图表类型,它通过计算可能产生观测数据连续概率分布估计而产生。通常做法是将这种分布近似为“内核”混合,也就是像正态分布那样简单分布。

    5.4K40

    Pandas知识点-绘制统计图

    kind: 使用kind参数指定图形种类,line表示折线图,scatter表示散点图,bar表示柱状图,barh表示水平柱状图,hist表示直方图,pie表示饼图。...在Pandas,绘制图形除了在plot()中指定kind参数外,还可以通过plot链式调用对应方法,如plot.scatter()表示绘制散点图,后面绘制柱状图直方图、饼图等也可以用链式调用方式...s参数也可以设置成一个数组,如例子也是用numpy生成一个随机数组,使每个大小不一样。...当然,在设置x轴刻度值,y轴刻度值,数值标签等时要注意方向转换。 六、绘制直方图 使用plot链式调用hist()方法,或在plot()设置kind为hist,都可以绘制直方图。...这里要强调是,直方图不是柱状图,两者应用场景完全不同。 绘制直方图前,要根据数据分布设置好适合组距,然后根据组距计算出组数。 bins: bins参数用于设置直方图组数,传入计算组数。

    3.5K20

    ggpubr!一键绘制出版级论文配图,绘图小白福音...

    前言 今天是可视化课程上线第266天,目前学员431人,每篇原创公众号都会记录这个人数,用来督促和激励原创内容。...这应该是很多刚学习可视化同学都会遇到问题,今天这篇推文就给大家推荐一个非常好用、可以一键绘制出版级别论文配图可视化工具-「ggpubr」 「ggpubr介绍」 ggpubr是一个基于ggplot2...安装 在R安装ggpubr可以使用以下命令: install.packages("ggpubr") 主要特点 ggpubr是一个基于ggplot2扩展,因此它继承了ggplot2所有功能,并添加了更多实用功能和自定义选项...ggpubr提供了一系列简单易用函数,使用户能够快速创建各种常见统计图形,如线图、散点图、柱状图、箱线图、直方图、小提琴图、QQ图、核密度图、热力图和配对图等。...ggboxplot():创建箱线图,用于展示不同组别之间分布差异。支持分组、分面和添加自定义标记。 gghistogram():创建直方图,用于展示单一变量分布情况。

    30410

    开发 | 用数据说话,R语言有哪七种可视化应用?

    直方图 3. 柱状图和条形图 4. 箱线图 5. 面积图 6. 热点图 7....在上面介绍超市数据,如果我们根据他们成本数据来可视化商品知名度,我们可以用散点图,两个连续变量这里我们命名为Item_Visibility和Item_MRP。...library(ggplot2) // ggplot2 是R一个函数库 ggplot(train, aes(Item_Visibility, Item_MRP)) + geom_point...柱状图和条形图 使用场景:柱状图一般用于表现分类变量或者是连续分类变量组合。 在超市数据例子,如果我们需要知道在每一年新开超市门店数量,那么柱状图就是一个很好图形分析方式。...去除代码coord_flIP()变量,可以将直方图以水平直方图方法呈现。

    2.3K110

    Python可视化库Matplotlib绘图入门详解

    柱状图亦可横向排列,或用多维方式表达。 绘制每个国家或地区电影数量柱状图: ? ? ? 绘制散点图 ?...仅排列在工作表一列或一行数据可以绘制到饼图中。饼图显示一个数据系列各项大小与各项总和比例,数据点显示为整个饼图百分比。...为了构建直方图,第一步是将值范围分段,即将整个值范围分成一系列间隔,然后计算每个间隔中有多少值。这些值通常被指定为连续,不重叠变量间隔。间隔必须相邻,并且通常是(但不是必须)相等大小。...直方图也可以被归一化以显示“相对”频率。然后,它显示了属于几个类别每个案例比例,其高度等于1。 根据电影评分绘制直方图: ?...arr: 需要计算直方图一维数组 bins: 直方图柱数,可选项,默认为10 normed: 是否将得到直方图向量归一化。

    2.7K21

    R语言学习 - 柱状图

    每个基因原始表达值堆积柱状图 (只需要修改positon=stack) # position="fill" 展示是堆积柱状图各部分相对比例 # position="stack" 展示是堆积柱状图原始值...指定下分组信息,位置计算就正确了 # position="fill" 展示是堆积柱状图各部分相对比例 # position="stack" 展示是堆积柱状图原始值 p <- ggplot(data_m...在柱子中标记百分比值 首先计算百分比,同样是group_by (按照给定变量分组,然后按组操作)和mutate两个函数(在当前数据表增加新变量) # group_by: 按照给定变量分组,然后按组操作..., 纵轴显示改为百分比 # position="fill" 展示是堆积柱状图各部分相对比例 # position="stack" 展示是堆积柱状图原始值,可以自己体现下看卡差别 p <- ggplot...(计算百分比值需要注意了, 文本显示位置还是跟之前一致) # group_by: 按照给定变量分组,然后按组操作 # mutate: 在当前数据表增加新变量 # 第一步增加每个组 (Group和Condition

    2.5K50

    文末送书 | Python绘图,只用Matplotlib

    散点图 散点图显示两组数据值,如图1-1所示。每个坐标位置由变量值决定,并由一组不连接点完成,用于观察两种变量相关性。例如,身高—体重、温度—维度。 ?...如果画出曲线图,则只需更改线性方程为 ? ,完整代码如下: ? 运行脚本输出如图2-3所示图形。 ? 图2-3 曲线图 3 ? 直方图 直方图由一系列高度不等纵向条形组成,表示数据分布情况。...图4-1 直方图 直方图柱状图区别有以下几点: (1)柱状图是用条形长度表示各类别频数多少,其宽度(表示类别)是固定,主要是展示不同类别的数据。...(3)由于分组数据具有连续性,因此直方图各矩形通常是连续排列,而柱状图则是分开排列。 (4)柱状图主要用于展示分类型数据,而直方图主要用于展示数据型数据。...决定直方图y轴取值是某个箱子元素个数 (normed=False), 还是某个箱子元素个数占总体百分比 (normed=True)。 在介绍直方图之前,先来了解什么是正太分布。

    1.5K50

    Python 绘图,只用 Matplotlib

    01 散点图 散点图显示两组数据值,如图1-1所示。每个坐标位置由变量值决定,并由一组不连接点完成,用于观察两种变量相关性。例如,身高—体重、温度—维度。 ?...如果画出曲线图,则只需更改线性方程为 ? ,完整代码如下: ? 运行脚本输出如图2-3所示图形。 ? 图2-3 曲线图 ? 02 直方图 直方图由一系列高度不等纵向条形组成,表示数据分布情况。...例如,某年级学生身高分布情况,如图4-1所示。 ? 图4-1 直方图 直方图柱状图区别有以下几点: 1....由于分组数据具有连续性,因此直方图各矩形通常是连续排列,而柱状图则是分开排列。 4. 柱状图主要用于展示分类型数据,而直方图主要用于展示数据型数据。...决定直方图y轴取值是某个箱子元素个数 (normed=False), 还是某个箱子元素个数占总体百分比 (normed=True)。 在介绍直方图之前,先来了解什么是正太分布。

    1.2K20

    《七天数据可视化之旅》第五天:常用图表对比

    柱状图」主要是比较数据大小,「直方图」是用来展示数据分布。 映射到X轴上数据属性不同。 在柱状图中,X轴上变量是分类数据,例如不同手机品牌、店铺或网站在售商品分类。...表示数据大小方式不同。 柱状图,是通过柱形条高度,来映射数据大小,且柱子之间有间隔; 直方图,是通过面积来表示数据大小,且柱子之间紧密相连,没有间隔。...4)总结 相同点: 堆叠柱状图百分比堆叠柱状图,都适合用来展示分类数据构成对比或构成随时间变化趋势。 当映射到X轴上数据为时间序列时,此时可以用堆叠面积图or百分比堆叠面积图来代替。...不同点: 堆叠柱状图: 既可以对比各构成部分数值差异,还可以观测各组数据整体差距。 百分比堆叠柱状图: 只能对比整体各构成部分占比差异,无法对比不同整体差异。...5.堆叠面积图 VS 百分比堆叠面积图 1)可视化目标 若某家公司主要有电商、物流、云计算三块业务,现需要展示2015~2019这五年,集团年度收入趋势及其三大业务收入趋势。

    1.3K10

    一小时掌握R语言数据可视化

    ggplot2是R语言最为强大作图软件包,有着自成一派可视化理念,数据可视化是数据分析重要一步,让我们通过由浅入深掌握数据可视化精髓。...请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 展开一张画布 ggplot2和其他作图工具不同,它是以图层覆盖图层方式画出一个完美图像,就像是photoshop里图层...1和2 > ggplot(data, aes(x)) + geom_bar() > ggplot(data, aes(x<2)) + geom_bar() 当然我们可以自己指定直方图高度计算方法,以下两种方法效果相同...: > ggplot(data, aes(x)) + geom_density(adjust = 1/5) 如果我们按照不同y值来分开画密度图,并且用不同颜色来表示不同y值,那么我们可以用描边方式...(左),也可以用填充方式(),当然也可以两者结合 > ggplot(data, aes(x, colour = factor(y))) + geom_density(adjust = 1/5) >

    1.2K120

    24式R入门作图必学之barplot条形图(一)

    一、前言二、初阶图形2.1 基本条形图2.2 水平柱状图2.3 带图例堆叠柱状图2.4 带图例分组柱状图2.5 ggplot作图2.6 plotly作图三、进阶图形3.1 水平柱状图3.2 显著性柱状图...3.3 堆积百分比柱状图3.4 分组柱状图四、讨论一、前言柱状图又称条形图,在统计分析使用频率最高,也是众多小白入门R最早绘制可视化图形。...)rt1=table(c(as.vector(rt[,1]),as.vector(rt[,2]))) #统计rt1=sort(rt1,decreasing =T) #排序#计算节点交叉个数out=...scale_x_discrete(expand=c(0,0))+ theme_bw()ggsave(outFile,width=7,height=5) #保存图片图片3.3 堆积百分比柱状图和刚刚初阶类似...par('usr')[4], legend=rownames(rt), col=col,pch=15,bty="n",cex=1.3)dev.off()图片3.4 分组柱状图将刚刚初阶分组柱状图设置为水平即可

    2.9K10
    领券