首页
学习
活动
专区
工具
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.6K10

R语言可视化—饼图

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

18110
  • 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】领取示例数据和代码

    3.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.4K10

    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 将图形元素堆叠起来   而上述这些位置参数通常是应用在条形图中

    7K50

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

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

    8.9K20

    R可视乎|马赛克图

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

    1.6K20

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

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

    9K10

    可视化图表样式使用大全

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

    9.4K10

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

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

    2K20

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

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

    3K30

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

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

    4.6K50

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

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

    2.1K10
    领券