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

如何在ggplot2中创建具有总频率和百分比的堆叠条形图

在ggplot2中创建具有总频率和百分比的堆叠条形图,可以按照以下步骤进行:

  1. 导入所需的库和数据集:
代码语言:txt
复制
library(ggplot2)
library(dplyr)

# 假设数据集名为df,包含两个变量:类别(category)和频率(frequency)
  1. 计算每个类别的总频率和百分比:
代码语言:txt
复制
df_summary <- df %>%
  group_by(category) %>%
  summarise(total_frequency = sum(frequency),
            percentage = total_frequency / sum(total_frequency) * 100)
  1. 创建堆叠条形图:
代码语言:txt
复制
ggplot(df, aes(x = category, y = frequency, fill = category)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = frequency), vjust = -0.5) +
  labs(x = "类别", y = "频率") +
  scale_fill_manual(values = c("#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")) +
  theme_minimal()
  1. 添加总频率和百分比标签:
代码语言:txt
复制
ggplot(df_summary, aes(x = category, y = total_frequency, fill = category)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = paste0(total_frequency, " (", round(percentage, 1), "%)")), vjust = -0.5) +
  labs(x = "类别", y = "频率") +
  scale_fill_manual(values = c("#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")) +
  theme_minimal()

这样就可以在ggplot2中创建具有总频率和百分比的堆叠条形图了。根据实际情况,可以调整颜色、标签位置等图形属性。腾讯云相关产品和产品介绍链接地址可以根据具体需求进行选择和添加。

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

相关·内容

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

,有两点需要说明,一方面,在ggplot2绘图过程均采用图层思想,将多个图形进行叠加设置;另一方面,图层思想是通过代码加号(+)表现出来。...前提是绘图数据已做了统计汇总); position:用于设置条形图摆放位置,默认为'stack',表示绘制堆叠条形图;如果指定为'dodge',表示绘制水平交错条形图;如果为'fill',表示绘制百分比堆叠条形图...如果绘图数据涉及是双离散变量单数值变量或者双数值变量单离散变量时,也可以借助于geom_bar函数绘制堆叠条形图百分比堆叠条形图、交错条形图对比条形图。...然而,在实际企业环境,这样图形出现频次并不是很高,因为绝对数量堆叠条形图并不能够达到刺激效果。读者不妨使用下面介绍百分比堆叠条形图。...双离散单数值百分比堆叠条形图 # 明细数据--双离散单数值变量百分比堆叠条形图 ggplot(data = weather2017, mapping = aes(x = aqiInfo, fill

5.5K10

R语言可视化—饼图

首先我们从基础极坐标绘图开始,极坐标绘图一般是先画柱形图,再转化为极坐标,如下图: library(ggplot2) # 创建示例数据 data1 <- data.frame( category...接下来再对这张图进行修饰即可,观察Fig.1A,知道应该做隐藏x,y轴、移除多余图形元素、将value值标注在对应色块并且居中排列、将图例放在图下方按照两列排列并隐藏图例名称、图例外有黑边包边...(或饼图)堆叠位置显示方式。...具体来说: position_stack:这是一个位置调整函数,用于在堆叠条形图或饼图中调整元素位置。对于堆叠条形图,它将标签按照条形高度依次堆叠。...在饼图中,position_stack(vjust = 0.5)用于将标签(百分比)放置在每个饼图扇形区域中间位置,从而使得标签更清晰地显示在每个部分中心。

14710
  • 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最早绘制可视化图形。...scale_x_discrete(expand=c(0,0))+ theme_bw()ggsave(outFile,width=7,height=5) #保存图片图片3.3 堆积百分比柱状图刚刚初阶类似...有交互性可视化R包,可以绘制点图、线图、条形图、气泡图、桑基图、甘特图、树状图等。...图片还有很多刚入门或者准备入门生信同学,特出此系列巩固提供一些入门帮助。关注公众号「生信初学者」回复【barplot】领取示例数据代码

    3K10

    学会这个BBC,你图也可以上新闻啦!

    该软件包具有两个函数功能,bbc_style()finalise_plot()。...对于折线图而言,折线颜色或条形图颜色,并不是从bbc_style()函数中直接实现,而是需要在其他标准ggplot(ggplot2高效实用指南 (可视化脚本、工具、套路、配色))图表函数明确设置...下面的代码显示了如何在标准图表制作工作流程中使用bbc_style()。这是一个非常简单折线图示例,使用了gapminder程序包数据。...它实质上修改了ggplot2主题功能(ggplot2学习笔记之图形排列)某些参数。 例如,第一个参数是设置图标题元素字体、大小、字体颜色。...title="Reunion is highest", subtitle = "Highest African life expectancy, 2007") R语言 - 柱状图 制作堆叠条形图

    4.1K20

    为什么你觉得Matplotlib用起来很困难?因为你还没看过这个思维导图

    Matplotlib是一个流行Python库,可以很容易地用于创建数据可视化。然而,设置数据、参数、图形绘图在每次执行新项目时都可能变得非常混乱繁琐。...我们可以清楚地看到,所有专业百分比随时间变化很大。用散点图来绘制这些图会非常杂乱,很难真正理解看到发生了什么。直线图非常适合这种情况,因为它基本上可以快速总结两个变量(百分比时间)协方差。...直方图 直方图对于查看(或真正发现)数据点分布很有用。看看下面的柱状图,我们绘制了频率智商柱状图。我们可以清楚地看到向中心浓度中值是什么。我们也可以看到它遵循一个高斯分布。...使用条形图(而不是散点图)可以让我们清楚地看到每个箱子频率之间相对差异。...它们非常适合分类数据,因为您可以根据条形图大小;分类也很容易划分颜色编码。我们将看到三种不同类型条形图:常规、分组堆叠: ?

    1.4K32

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

    下面是去年实习生分享 author: "ylchen" ggplot2是R语言最流行第三方扩展包,是RStudio首席科学家Hadley Wickham读博期间作品。...此外,图形还可能包含数据统计变换(statistical transformation,缩写stats),最后绘制在某个特定坐标系(coordinate system,缩写coord),而分面(...除此之外,ggplot2提供了众多几何对象geom_xyz()供大家选择,完整几何对象可以下载RStudio公司总结ggplot2 cheetsheet。...geom_text(aes(label = value), position = position_stack(vjust = 0.5),size=5) #vjust=0.5在堆叠柱子中间位置添加文字...四、玫瑰图 然而,当我们数据不是代表个体占总体百分比,而是强调数据大小对比时,可以用玫瑰图来展示,根据上面的代码做简单修改即可。

    2K20

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

    4)总结 相同点: 柱状图条形图数据结构是相同,都是由「一个分类字段+一个连续数值字段」构成。 当数据记录数不大于12条,分类字段字符长度小于5时,此时柱状图条形图可以互换。...3.堆叠柱状图 VS 百分比堆叠柱状图 1)可视化目标 展示某影院2019年上半年票房趋势及华语片、外语片趋势。 展示某影院2019年上半年票房收入构成占比趋势。...4)总结 相同点: 堆叠柱状图百分比堆叠柱状图,都适合用来展示分类数据构成对比或构成随时间变化趋势。 当映射到X轴上数据为时间序列时,此时可以用堆叠面积图or百分比堆叠面积图来代替。...不同点: 堆叠柱状图: 既可以对比各构成部分数值差异,还可以观测各组数据整体差距。 百分比堆叠柱状图: 只能对比整体各构成部分占比差异,无法对比不同整体差异。...4)总结 相同点: 堆叠面积图百分比堆叠面积图,映射到X轴均为【时间序列】。

    1.3K10

    「R」ggplot2数据可视化

    几何对象是用以呈现数据几何图形对象,条形、线条点。 图形属性是几何对象视觉属性,x坐标y坐标、线条颜色、点形状等。 数值图形属性之间存在着某类映射。...ggplot2 初探 在ggplot2,图是采用串联起来(+)号函数创建。每个函数修改属于自己部分。...在上述例子,geom_point()函数在图形画点,创建了一个散点图。labs()函数是可选,可以添加注释、轴标签、标题等。 ggplot2有很多函数,并且大多数包含可选参数。...对条形图来说,'dodge'将分组条形图并排,'stacked'堆叠分组条形图,'fill'垂直地堆叠分组条形图并规范其高度相等。对于点来说,'jitter'减少点重叠。...分面 如果组在图中并排出现而不是重叠为单一图形,关系就是清晰。我们可以使用facet_wrap()函数facet_grid()函数创建网格图形(在ggplot2也称为刻面图)。

    7.3K10

    R语言之可视化(22)绘制堆积条形图

    第一步:统计不同stage下,男性女性患者数目 代码如下: setwd('D:\\train\\data') data <- read.csv('patient.csv',header=T) data...第二步:统计不同stage下,男性女性患者百分比 library(plyr) data <- ddply(data,'stage',transform,percent = 1/sum(number)...经过此图我们便可以得知不同分期下,男性女性所占百分比。...总结 这里我用了两个个小技巧,(1)首先明确ggplot2绘制堆叠条形图时,对number这一列相加,所以我将number设置为1,刚好代表每一行就是一个样本/患者(2)在计算百分比时,用了ddply函数...,它首先将stage分组,然后计算stage=T1时,T1样本中男性数目除以T1样本总数目,这样就得到了每一个样本在所属stage百分比,随后绘图相加即可得到百分比图。

    5.1K20

    R语言基础绘图

    一、R 语言绘图系统介绍 R 语言具有强大绘图功能,可以满足科研绘图需求,越来越多文章采用 R 语言来进行绘图。...比如描述数据分布,可以用散点图,直方图,热图,表现数据各部分百分比,可以用条形图,饼图,韦恩图,展示变化趋势可以用折线图等。...,雷达图,星云图,玫瑰风向图等 4、整体部分:堆叠(分组)条形图,饼图,树形图等 5、进化:折线图,面积图,时间序列图等; R 绘图导图 1.2 数据维度...png png 格式文件 jpeg jpg 格式位图文件 在各种 R 绘图设备,最常用为 X11 pdf,X11 在绘图调试过程中非常方便,不用每次打开绘图文件,属于边绘图边查看方式...按是否能够自动创建图形,R 绘图函数可以分为两类——高级绘图函数低级绘图函数。高级绘图函数可以创建一个新图形,低级绘图函数是在现有的图形上添加元素。

    1.4K20

    (数据科学学习手札37)ggplot2基本绘图语法介绍

    ,在刚开始上手时候可能稍有难度(而且官网帮助内容比较不友好),而本文也是我在日常使用与别人交流摸索总结出来,将对ggplot2绘图语法绘图部件进行介绍,并附以常用一些图形示例;   下面我们就来探索...还有很多基本参数,: xlim,ylim:设置x轴与y轴显示区间 log:传入字符型,用于控制将哪个轴转成对数轴,'x''y'分别代表x轴与y轴,'xy'代表两个轴都进行变化 main:设置图形主标题...坐标系即coord,可将对象位置映射到图形平面上,ggplot2绘制通常为2D图像,即图像位置信息由(x,y)决定,且通常为笛卡尔坐标系,用得较少是极坐标系各种地图坐标系;   坐标系最大特点是...qplot非常相似,只需要将图形属性变量名放到函数aes()内即可,但要注意,这里不像qplot默认图层为散点图,使用ggplot时如果不+geom_部分,则没有图层会被创建,例如: library...堆叠元素并将高度放缩为1 identity 不做任何调整(就像神经网络里identity激活函数一样) jitter 给点添加扰动避免重合 stack 将图形元素堆叠起来   而上述这些位置参数通常是应用在条形图

    6.9K50

    常用60类图表使用场景、制作工具推荐!

    堆叠条形图共分成两种: 简单堆叠条形图。将分段数值一个接一个地放置,条形总值就是所有段值加在一起,适合用来比较每个分组/分段总量。 100% 堆叠条形图。...会显示每组占总体百分比,并按该组每个数值占整体百分比来绘制,可用来显示每组数量之间相对差异。...条形通常从中心点开始向外延伸,但也可以别处为起点以显示数值范围(跨度图)。此外,条形也可以堆叠条形图堆叠起来。 推荐制作工具有:jChartFX、Bokeh。...每当出现数值时,在相应列或行添加记数符号。 完成收集所有数据后,把所有标记加起来并把总数写在下一列或下一行,最终结果类似于直方图。 推荐制作工具有:纸笔。...字云图 字云图 (Word Cloud) 也称为「标签云图」、「词云」等,每个此大小与其出现频率成正比,以此显示不同单词在给定文本出现频率,然后将所有的字词排在一起,形成云状图案。

    8.8K20

    60 种常用可视化图表,该怎么用?

    堆叠条形图共分成两种: 简单堆叠条形图。将分段数值一个接一个地放置,条形总值就是所有段值加在一起,适合用来比较每个分组/分段总量。 100% 堆叠条形图。...会显示每组占总体百分比,并按该组每个数值占整体百分比来绘制,可用来显示每组数量之间相对差异。...条形通常从中心点开始向外延伸,但也可以别处为起点以显示数值范围(跨度图)。此外,条形也可以堆叠条形图堆叠起来。 推荐制作工具有:jChartFX、Bokeh。...每当出现数值时,在相应列或行添加记数符号。 完成收集所有数据后,把所有标记加起来并把总数写在下一列或下一行,最终结果类似于直方图。 推荐制作工具有:纸笔。...字云图 字云图 (Word Cloud) 也称为「标签云图」、「词云」等,每个此大小与其出现频率成正比,以此显示不同单词在给定文本出现频率,然后将所有的字词排在一起,形成云状图案。

    8.7K10

    可视化图表样式使用大全

    堆叠条形图 ? 跟多组条形图不同,堆叠条形图 (Stacked Bar Graph) 将多个数据集条形彼此重迭显示,适合用来显示大型类别如何细分为较小类别,以及每部分与总量有什么关系。...堆叠条形图共分成两种: 简单堆叠条形图。将分段数值一个接一个地放置,条形总值就是所有段值加在一起,适合用来比较每个分组/分段总量。 100% 堆叠条形图。...会显示每组占总体百分比,并按该组每个数值占整体百分比来绘制,可用来显示每组数量之间相对差异。...此外,条形也可以堆叠条形图堆叠起来。 推荐制作工具有:jChartFX、Bokeh。 热图 ?...字云图 (Word Cloud) 也称为「标签云图」、「词云」等,每个此大小与其出现频率成正比,以此显示不同单词在给定文本出现频率,然后将所有的字词排在一起,形成云状图案。

    9.4K10

    R可视乎|马赛克图

    1.前言 马赛克图(mosaic plot),显示分类数据中一对变量之间关系,原理类似双向100%堆叠条形图,但其中所有条形在数值/标尺轴上具有相等长度,并会被划分成段。...计算出每行最大,最小值,并计算每行各数百分比。ddply()对data.frame分组计算,并利用join()函数进行两个表格连接。...2.方法 绘制马赛克图可以使用ggplot2geom_rect()函数、graphics包mosaicplot()函数,或者vcd包mosaic()函数绘制马赛克图。...2.1 ggplot2geom_rect()函数 这个方法比较复杂,图层一层一层叠加得到,不过灵活性比较强,可根据自己喜好进行修改。...2.3 graphics包mosaicplot()函数 该方法上面类似,掉包就行,数据类型与上面相同。

    1.6K20

    何在 Power BI 快速制作满足 IBCS 规范专业图表

    Power BI 图表叫:视觉对象。它从设计时候就没有考虑要实现特定于业务本身分析。 我曾在这个方面做过大量研究尝试,结论就是: 在原生图表分析型图表之间有一个鸿沟。...若要对离散元素(:产品,客户,科目)进行分析,应该使用垂直方向图表。垂直方向图表可以方便显示元素标签或集成到表更直观显示数据。...如下: 堆叠堆叠图可以帮助分析某个值内部构成关系(:对销售额来说每类产品销售额)。这种分析可以快速看出每一部分相对整体关系。...这是基于柱形图(条形图)已经有了表示整体度量值后,在其内部构成元素已经用条形图表示进一步优化。常常形成:瀑布形态。故又称:瀑布图。它常常用于直观地解释总体为什么发生了变化。...如下: 组合图 组合图是专门为了显示有两套坐标体系图表:同时在一个图中按百万单位来显示销售额,且按百分比显示利润率。

    2K20

    原来使用 Pandas 绘制图表也这么惊艳

    数据可视化是捕捉趋势分享从数据获得见解非常有效方式,流行可视化工具有很多,它们各具特色,但是在今天文章,我们将学习使用 Pandas 进行绘图。...该图表可能包括特定类别的计数或任何定义值,并且条形长度对应于它们所代表值。 在下面的示例,我们将根据每月平均股价创建一个条形图,来比较每个公司在特定月份与其他公司平均股价。...: df_3Months.plot(kind='barh', figsize=(9,6)) Output: 我们还可以在堆叠垂直或水平条形图上绘制数据,这些条形图代表不同组,结果条高度显示了组组合结果...直方图 直方图是一种表示数值数据分布条形图,其中 x 轴表示 bin 范围,而 y 轴表示某个区间内数据频率。...上面代码新关键字参数是 autopct,它在饼图切片上显示百分比值。

    4.5K50

    机器学习| 一个简单入门实例-员工离职预测

    任务结构 案例背景 一家具有14999名员工公司想要探寻为什么最优秀最有经验员工总是离职,同时希望能够对下一个离职员工进行预测。...三大指标的计算如下所示: (1)Accuracy=(TP+TN)/(TN+FN+FP+TP):即准确度,是指正确预测离职与未离职员工占员工数百分比; (2)Precision=TP.../(TP+FP),即精确率,是指正确预测离职员工占所有被预测为离职员工百分比; (3)Recall=TP/(TP+FN):即召回率,是指正确预测离职员工占实际离职员工百分比。...然后通过堆砌条形图对参与项目数、五年内是否升职、收入水平、是否有工作差错以及岗位与离职关系进行探索分析。堆砌条形图通过几何函数geom_bar()获得。...参数position=fill表示垂直地堆叠分组条形图并规范其高度相等。

    3K30

    5个快速而简单数据可视化方法Python代码

    创建可视化确实有助于使事情更清晰更容易理解,特别是对于更大、高维数据集。...请查看下面的直方图,我们在其中绘制了频率直方图IQ直方图。我们可以清楚地看到中心浓度中值。我们还可以看到它服从高斯分布。...使用条形图(而不是散点图)可以让我们清楚地看到每个存储箱频率之间相对差异。...我们将看到三种不同类型条形图:常规条形图、分组条形图堆叠条形图。在我们进行过程,请查看下图中代码。 常规条形图如下面的第一个图所示。...然后我们循环遍历每一组,对于每一组,我们在x轴上画出每一个刻度横杠,每一组也用颜色进行编码。 堆叠条形图对于可视化不同变量分类构成非常有用。在下面的堆叠条形图中,我们比较了每天服务器负载。

    2.1K10
    领券