如何在 R 中绘制多个堆叠直方图?

2024-02-25

我对 R 非常陌生(今天才开始使用它),我试图在彼此之上绘制多个直方图。我遇到过一些关于如何在彼此之上绘制两个直方图的帖子,但没有找到任何解释如何执行多个直方图的帖子。具体来说,对于我的示例,5。

我想绘制 5 个值的堆积直方图。

a <- c(15.625,12.5,14,15.75,15.375,18.813)

cs <- c(15.875,    7.875,    6.625, 6,  6.5,    9,  7.375,  7.625,  6.875,  7.25,   7.5,    6.75,   6.75,   7.5,    6.75,   6.75,   10.25,  8.625,  8.875,  10.125, 11.75,  11, 16.5,   15.75,  14, 13, 12.5,   13.875, 13.5,   15.25,  17, 15.125, 15.75,  15.25,  13.625, 12.625, 11.375, 12.625, 11.875, 11.375, 16, 18.25,  20.25,  18.125, 22.5,   24.75,  27.5,   28.375, 31.125, 37.75,  32.75,  30.375, 31.875, 33.25,  34.625, 28.5,   28.875, 23.5,   24.625, 22.5,   18, 20.25,  24.875, 26.125, 30.25,  32.375, 36.5,   32.75,  35.25,  28.5,   29, 32.875, 34.5,   34.625, 31.875, 32.375, 29.5,   27.5,   26.875, 28.375, 30.25,  24.75,  26.75,  30.75,  29.625, 35.375, 31.875, 34.875, 40, 44.375, 32.25,  34.25,  35, 43.875, 46.125, 46.625, 29, 22.875, 24.25,  20.125, 25.125, 25.5,   25.875, 24.5,   24.25,  24.5,   24.125, 25, 23, 25, 30.25,  32, 37.5,   37.5,   32, 36.625, 40.625, 40.5,   47, 42.75)

e<- c(10.5,    13.188,  11.125, 10.938, 11.5,   17.625, 24, 18, 15, 17.625, 19.625, 30.5,   32.125)

qr <- c(17.625,    15,  14.875, 17.125, 17.375, 18, 14.75,  18, 17, 17.875, 15.25,  15.5,   23.375, 23.75,  23.125, 20.625, 22.625, 24, 24.125, 22.875, 20.125, 22.25,  25.5,   32.5,   36.375, 39.125, 39, 30.375, 33.375, 35.5,   29, 28.75,  23.875, 32.125, 29.5,   26.75,  36.125, 36.875, 36, 21.375, 21.5,   19.25,  20.25,  24.625, 23, 12.125, 11.625, 12.5,   12.625, 13.5,   12.25,  12.625, 11.5,   11.875, 11.5,   11.25,  11.75,  11.75,  11.5,   10.875, 15, 13.75,  13.25,  13, 16.125, 14, 16.5,   17, 16.75,  15.75,  14.875, 13.625, 12, 13.625, 13.25,  13, 15.25,  14, 13.5,   11.375, 10.375, 9.75,   10.125, 10.25,  13.125, 16.125, 18.875, 17.5,   17.75,  17, 19.625, 20.625, 19.25,  20.375, 20, 27.75,  27.5,   28.5,   28.625, 21.5,   21.5,   21, 20.125, 19.625, 20.125, 21, 25.375, 24.75,  27, 26, 27.125, 25.125, 26.125, 28.875, 30.75,  35, 36.25,  35.875, 34.25,  35.75,  35.375, 28.375, 25.625, 26.375, 26.875, 25.375, 24.75,  29.25,  25.875, 25.75,  24.75,  28.375, 30.875, 35, 35.5,   40.625, 47, 36.625, 38.5,   37.375, 45.875, 23.75,  25.375, 20.5,   23.25,  26.25,  29.5,   30.5,   33.875, 32.5,   28.375, 29.25,  26.5,   26.25,  28.375, 29.875, 36.625, 35, 20.875, 22.125, 23, 23.25,  26.25,  34.25)

w <- c(6.938,    8, 8.25,   7.5,    8,  6.25,   6,  5.25,   4.5,    4.75,   6,  5.875,  6.25,   5,  3.5,    3.25,   4,  3.375,  3.5,    2.75,   3.75,   3.75,   4.75,   4.25,   5,  6,  6,  5.75,   5.625,  5.375,  5,  4.5,    4.375,  3.75,   4.25,   4.375,  4.25,   4.75,   4.625,  4.375,  4.25,   4,  3.75,   3.625,  3.75,   4.5,    6.125,  7,  8.25,   8,  10.375, 10.75,  14.25,  14, 15.5,   27.5,   26.5,   21.75,  25.375, 20.625, 21.75,  17.125, 17.625, 13.75,  14.375, 15.625, 20.75,  20.5,   25.25,  24.375, 20.5,   18.5,   27.25,  33.5,   33, 42.625, 50.125, 47.25,  25.75,  21.25,  21.25,  20.5,   17.625, 16, 15.25,  13.375, 13, 17, 14.125, 16.125, 14.25,  12.25,  14.5,   17.375, 16.125, 15.625, 17.5,   23, 27.625, 28.625, 25.5,   19.75,  19.75,  24.75,  23.625, 24.625, 33.375, 36.25,  36.625, 37.125, 37.625, 37.375, 37.875)

我厌倦了模仿我在这找到的代码thread https://stackoverflow.com/questions/3541713/how-to-plot-two-histograms-together-in-r,但返回一个矩阵错误。任何帮助表示赞赏。


你可以用 reshape 和 ggplot2 这样做

require(reshape2)  # this is the library that lets you flatten out data
require(ggplot2)   # plotting library

bucket<-list(a=a,cs=cs,e=e,qr=qr,w=w) # this puts all values in one list

# the melt command flattens the 'bucket' list into value/vectorname pairs
# the 2 columns are called 'value' and 'L1' by default
# 'fill' will color bars differently depending on L1 group
ggplot(melt(bucket), aes(value, fill = L1)) + 
#call geom_histogram with position="dodge" to offset the bars and manual binwidth of 2
geom_histogram(position = "dodge", binwidth=2)

编辑 - 抱歉您要求堆叠,只需将最后一行更改为:

geom_histogram(position = "stack", binwidth=2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中绘制多个堆叠直方图? 的相关文章

  • 如何使用 r 中的 caret 包在最佳调整超参数的 10 倍交叉验证中获得每次折叠的预测?

    我试图使用 R 中的插入符包使用 10 倍交叉验证和 3 次重复来运行 SVM 模型 我想使用最佳调整的超参数获得每次折叠的预测结果 我正在使用以下代码 Load packages library mlbench library caret
  • 将summary()写入as.data.frame以在ggplot / R中使用

    请查找 af 数据样本t below 我正在使用以下方法进行竞争风险分析etmCIF来自etm package 产生以下结果 这很好 但需要更好的图形 曾经有一个ggtrans etm函数将数据导入ggplot 然而 这个功能显然被删除了
  • 使用 ggplot2 修改点子集的形状

    我正在尝试绘制一个沿大量维度变化的大型散点图 这是我的起始情节 p lt ggplot mtcars aes wt mpg shape cyl colour gear size carb geom point 使用mtcars数据集 我只是
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4
  • R 更改小数位且不四舍五入

    gt signif 1 89 digits 2 1 1 9 我想要1 8 这有点笨拙 但它会起作用并保持所有数字 x lt 1 829380 trunc dec lt function x n floor x 10 n 10 n Resul
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • python 中的对数 y 轴 bin

    我正在尝试创建数据列的直方图并以对数方式绘制它 y axis 并且我不确定为什么以下代码不起作用 import numpy as np import matplotlib pyplot as plt data np loadtxt foo
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • 使用outer代替expand.grid

    我正在寻找尽可能快的速度并留在基地做该做的事expand grid做 我用过outer为过去类似的目的创建一个向量 像这样的东西 v lt outer letters LETTERS paste0 unlist v lower tri v
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 有没有一种简单的方法来判断存储在一个列表中的许多数据帧是否包含相同的列?

    我有一个包含许多数据框的列表 df1 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df2 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df3 lt data frame
  • 如何计算嵌套函数中的粘合表达式?

    我正在尝试嵌套一个函数 该函数将两个字符串粘合在一起 该函数使用组合字符串来命名数据帧的列 然而 问题似乎是粘合表达式没有足够早地评估为字符串 我可以 并且应该 强制在将表达式作为参数传递给另一个函数之前对其进行求值吗 library ti
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想

随机推荐

  • indexpath.row 从 1 而不是 0 开始

    我面临着 uitableview 的问题 有时 当我的表的 datasource numberofrowsinsection 有 3 个值时 cellforowatindexpath 从 0 1 而不是 0 0 开始 有人可以帮我找出发生此
  • 在 Swing 中使图像按钮看起来被按下/单击

    我创建了一个 JButton 其中有一个图像设置为代表该按钮的图标 现在 我已经设置了 setContentAreaFilled false setBorderPainted false setOpaque false 这些属性使图像按钮看
  • 多行字符串文字的语法突出显示

    我有一种自定义语言 我想在 Visual Studio Code 中为其提供语法突出显示 在这种语言中 字符串文字以双引号或单引号开头和结尾 以双引号开头的字符串文字可以包含单引号 反之亦然 不会发生任何其他引号转义 但无论起始引号类型如何
  • 将菜单项添加到 Quickbooks

    是否可以使用 QBSDK 将菜单项添加到 Quickbooks 我发现了一些我无法工作的旧例子 我已经为我的公司创建了一个自定义应用程序 并尝试通过在 Quickbooks 中创建一个菜单项来简化它 任何帮助将不胜感激 这是我到目前为止所尝
  • 替换嵌套括号中的内容

    Input ABCDEF 3 abcdef GHIJKLMN 4 5 Value OPQRSTUVW 4 5 Value 3 预期输出 ABCDEF GHIJKLMN OPQRSTUVW 到目前为止尝试过 Output Input repl
  • 单元测试 - 如何测试仅插入日志消息的“void”方法(Serilog)

    我需要测试类型的方法void 它只是使用 LOG 框架在我的 LOG 变量上插入一条消息 Serilog https serilog net 参见实现示例 public class MyClass public MyClass ILogge
  • 如何在cloudfoundry上使用kafka和storm?

    我想知道是否可以将 kafka 作为云原生应用程序运行 以及我是否可以在 Pivotal Web Services 上创建一个 kafka 集群作为服务 我不仅仅想要客户端集成 我想运行 kafka 集群 服务本身 谢谢 阿尼尔 我可以向您
  • 为什么 Tkinter 中计算的字符串宽度和高度(以像素为单位)在不同平台上有所不同?

    我有一个 Python 脚本 需要计算以任意字体显示的任意字符串的确切大小 以便生成简单的图表 我可以使用 Tkinter 轻松做到这一点 import Tkinter as tk import tkFont root tk Tk canv
  • 转发不同类型的事件

    我正在尝试将事件从一个类转发到其中包含的对象 如下所述 在 C 中转发事件 https stackoverflow com questions 1065355 forwarding events in c sharp 然而 事件的类型不同
  • R 中带有 tm 包的计数器 ngram

    我使用 R 中的对象和字典 documentTermMatrix 创建了一个用于记录文档中单词频率的脚本 该脚本适用于单个单词 而不适用于复合词 es 富 酒吧 富酒吧 这是代码 require tm my docs lt c foo ba
  • 如何使用SQLPlus查看Oracle存储过程?

    如何使用 sqlplus for Oracle 10g 查看存储过程的代码 当我输入 desc daily update 它向我显示了参数 但是当我尝试执行以下操作时 select from all source where name da
  • (a != b) 和 (a != (a = b) 之间有什么区别?

    In a 最近的问题 https stackoverflow com questions 48319047 why concurrentlinkedqueue source code use to check for tail 483192
  • 错误:元素 下的元素 无法识别

    使用 msbuild 构建解决方案时收到此错误 The element
  • 无法对已卸载的组件调用 setState(或forceUpdate)。这是一个空操作,但它表明您的应用程序中存在内存泄漏

    为什么我会收到此错误 警告 无法在未安装的状态下调用 setState 或forceUpdate 成分 这是一个空操作 但它表明您的内存泄漏 应用 要修复此问题 请取消所有订阅和异步任务 在 componentWillUnmount 方法中
  • 单击 Google 登录按钮后应用程序关闭

    我试图将谷歌登录集成到我的应用程序中 当我单击按钮时 应用程序将关闭 而不是崩溃 我在这里犯了什么错误 我尽力遵循谷歌开发者网站告诉我的内容 我提前为冗长的代码表示歉意 我的Java代码 import static com google a
  • CSS:“内联块”元素的意外垂直位置

    请考虑以下 HTML 代码
  • 具有多个 OR 条件的 Countif

    我需要计算列中包含特定值的单元格数量 我目前正在使用以下代码 iVal Application WorksheetFunction COUNTIF Range A A SAL 但是 我现在需要计算有多少个单元格包含其中之一 SAL or P
  • HttpClient.execute 抛出 OutOfMemoryError

    我有一个 Android 应用程序可以发布JSONObject作为一个实体 使用ByteArrayEntity目的 这是它的样子 post setEntity new ByteArrayEntity entity getBytes UTF
  • 多线程排序算法

    我必须在 Java 中为我的算法类实现多线程合并排序和快速排序 并将它们与我的单线程版本进行比较 不过 我以前从未使用过多线程 我的代码可以是多线程的还是必须重新开始 这是我的单线程算法代码 归并排序 sort 方法是我必须实现的策略模式的
  • 如何在 R 中绘制多个堆叠直方图?

    我对 R 非常陌生 今天才开始使用它 我试图在彼此之上绘制多个直方图 我遇到过一些关于如何在彼此之上绘制两个直方图的帖子 但没有找到任何解释如何执行多个直方图的帖子 具体来说 对于我的示例 5 我想绘制 5 个值的堆积直方图 a lt c