geom_bar 中的条形宽度不相等

2023-12-12

对于以下数据框,我想使用以下方法绘制几个条形图ggplot.

df <- data.frame(Disease = c("Disease1","Disease2","Disease3","Disease3","Disease3","Disease4","Disease5","Disease5","Disease6","Disease4","Disease2","Disease2","Disease1","Disease7","Disease1","Disease1","Disease7","Disease6","Disease3","Disease6"),
                   Week = c(3,52,46,47,19,39,42,46,44,45,46,42,45,48,44,44,43,42,45,47),
                   Year = c(2015,2015,2015,2016,2015,2015,2016,2016,2015,2015,2015,2015,2016,2016,2016,2015,2016,2016,2016,2015),
                   Number = c(1,1,6,5,1,1,4,12,4,15,6,15,6,11,4,2,9,1,4,1))

我使用以下语法,它给出了几个条形图。

ggplot(df, aes(factor(Week), Number )) + 
  geom_bar(stat="identity" , aes(fill = factor(Year)), position = "dodge") + 
  facet_wrap(~ Disease, ncol = 2, scales = "free_y") +
  labs(x = "Week", y = "Number") +
  scale_fill_discrete(name = "Year")

enter image description here

但是,我希望所有条形都具有相同的宽度(有关宽度差异,请参阅疾病 1)。我已经在这里找到答案了使用facet_wrap时,geom_bar中的条形有不需要的不同宽度但我无法让它在我的示例中起作用。有人能解决我的问题吗? 显然,我的原始数据集比上面的示例要大得多,并且不同条形宽度的问题发生的频率要高得多。


您可以通过将每个疾病 + 周 + 年填写为 0 来解决此问题:

library(tidyverse)
df2 = df %>%
    complete(Disease, Week, Year, fill = list(Number = 0))

ggplot(df2, aes(factor(Week), Number )) + 
    geom_bar(stat="identity" , aes(fill = factor(Year)), position = "dodge") + 
    facet_wrap(~ Disease, ncol = 2, scales = "free_y") +
    labs(x = "Week", y = "Number") +
    scale_fill_discrete(name = "Year")

您还可以尝试填充像 0.1 这样的小数字,这样您就会在每个 x 轴位置得到一些小条 - 我认为这可以帮助明确每个条都有一个空格,但您引入了可能令人困惑的假值:

df2 = df %>%
    complete(Disease, Week, Year, fill = list(Number = 0.1))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

geom_bar 中的条形宽度不相等 的相关文章

  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs
  • 在 for 循环中绘制的多个 ggplot2 绘图的网格

    作为一个新的 ggplot2 用户 我对可能性的数量感到有点迷失 并且很难在网上找到我认为简单问题的简单答案 我想在同一张纸上显示 ggplot2 的多个图 但知道这些图来自 for 循环 以下示例无法编译 仅用于说明 for i in c
  • glm() 模型的交叉验证

    我正在尝试对我之前在 R 中构建的一些 glm 模型进行 10 倍交叉验证 我对cv glm 函数在boot包 尽管我已经阅读了很多帮助文件 当我提供以下公式时 library boot cv glm data glmfit K 10 这里
  • udunits2 R 安装:找不到 udunits2.h

    我正在尝试在 R 中安装 udunits2 以满足对ggforce包裹 但是 安装程序在检查 udunits2 时始终失败 我已经尝试过中的说明this https stackoverflow com questions 47059517
  • 使用 ggplotly(ggplot2 withplotly)时可以去掉注释中的跟踪标签吗?

    使用ggplotly时是否可以删除注释中的跟踪标签 例如 library ggplot2 library plotly g lt ggplot iris aes Sepal Width Sepal Length geom point ann
  • 仅在具有重复块名称的另一个 Rmarkdown 文档中运行一个 Rmarkdown 文档中的代码

    我正在 Rmarkdown 中编写一系列相互补充的报告 我想将上一份报告的结果纳入我目前正在编写的报告中 我看到其他建议使用的问题purl从 Rmarkdown 文档中提取 R 代码然后运行它 所以我尝试了以下操作 r read previ
  • r Shiny 中的 fileInput 函数没有响应

    我是 R 和 R闪亮的新手 一直致力于构建一个统计应用程序 该应用程序将允许用户导入文件 然后对数据运行不同的统计程序 直到最近 fileData 函数一直对我来说运行良好 现在每当我尝试上传文件时 都不会打开任何内容 我已尝试了所有我能想
  • 通过 RSelenium 单击按钮

    我正在尝试使用 Rselarium 和 Rvest 来抓取 REI 的评论 吊床 我想点击底部的按钮 x 次 这样我就可以抓取所有评论 我有点失落 这是我到目前为止所拥有的 如果您也知道如何在取景器中预览您正在做的事情 而不是屏幕打印 那就
  • R 条形图中的 X 轴

    我想问一个关于 barplot 轴的问题 首先请看我的数据 SerNo DOY Rain 1 350 0 2 351 0 3 352 0 4 353 0 5 354 0 6 355 0 7 356 0 8 357 0 9 358 0 10
  • 使用 SparkR 1.5 从 RStudio 中的 hdfs 读取大文件(纯文本、xml、json、csv)的选项

    我是 Spark 新手 想知道除了下面的选项之外是否还有其他选项可以使用 SparkR 从 RStudio 读取存储在 hdfs 中的数据 或者我是否正确使用它们 数据可以是任何类型 纯文本 csv json xml 或任何包含关系表的数据
  • R中有字典功能吗

    有没有办法在 R 中创建一个 字典 使其具有对 一些效果 x dictionary c Hi Why water c 1 5 4 x Why 5 我问这个是因为我实际上正在寻找两个分类变量函数 所以如果 x dictionary c a b
  • 当子集长度为零时,如何简洁地处理子集?

    从向量中排除元素x x lt c 1 4 3 2 我们可以减去位置向量 excl lt c 2 3 x excl 1 1 2 这也是动态工作的 excl lt which x which max x gt quantile x 25 1 2
  • 如何优化 R 中的 sapply 来计算数据帧上的运行总计

    我在 R 中编写了一个函数来按月份计算累积总数 但随着数据集变大 我的方法的执行时间呈指数增长 我是一名 R 程序员新手 你能帮我提高效率吗 该函数以及我调用该函数的方式 accumulate lt function recordnum d
  • 如何在 R 中查找平衡面板数据(又名,如何查找面板中的哪些条目在给定窗口内完整)

    我有来自 Compustat 的大量数据 我向其中添加了一些手工收集的数据 认真地从一堆旧书中手工收集 但我不想手工收集整个面板 只想随机选择一个子集 为了找到更大的集合 我从中随机选择 我想从 Compustat 的平衡面板开始 我看到p
  • 无法在 Powershell 中运行 R.exe

    我经常发现在命令行 Windows 上运行 R 更有用 然而 当我在 Powershell 中尝试时 我往往会遇到问题 但这可以通过第一次运行轻松克服cmd然后就可以了 这是我执行此操作时遇到的错误R CMD BATCH Invoke Hi
  • 根据共同值对两个数据帧求和

    我有一个看起来像的数据框 day of week count 1 0 3 2 3 1 3 4 1 4 5 1 5 6 3 另一个喜欢 day of week count 1 0 17 2 1 6 3 2 1 4 3 1 5 4 5 6 5
  • R:如何更改ggvis闪亮应用程序中特定范围的绘图背景颜色

    I have a simple shiny app like below and you can run it The plots are created by ggvis and user can choose student name
  • 使用 dplyr 的 select 引用变量名[重复]

    这个问题在这里已经有答案了 通常我会想要选择变量的子集 其中该子集是函数的结果 在这个简单的例子中 我首先获取与宽度特征相关的所有变量名称 library dplyr library magrittr data iris width var
  • 如何处理包内部的 R 数据?

    我正在开发的 R 包需要多个 R 数据对象 例如预先计算的模型和参数 目前 我将包的 数据 目录中的每个对象放在单独的 RData 文件中 使用该包时 用户可以使用 数据 功能将这些对象附加到他们的环境中 我想要的行为是 在加载包时 数据对
  • 使用插入符和方法 = gamLoess 进行训练时 R 崩溃

    当我运行下面的代码时 R 崩溃了 如果我在训练调用中注释掉tuneGrid行 就不会发生崩溃 我已经用另一个数据集尝试过此操作 但仍然使 R 崩溃 崩溃消息是 R 会话中止 R遇到致命错误 会话被终止 开始新会话 代码是 library s

随机推荐

  • 将元素从一个 div 内部拖动到另一个 div 中

    我希望能够将一个元素从一个 div 内部拖动到另一个 div 中 jQuery用户界面可拖动的 and 可丢弃的 但他们似乎只是在视觉上操纵元素 使用position relative而不通过 DOM 移动它们 如果可以的话 我似乎找不到例
  • 如何在 .NET 中获取绝对或标准化文件路径?

    如何以最小的努力 如果可能的话 使用一些现有的设施 转换路径 例如c aaa bbb ccc to c aaa ccc 我会这样写 public static string NormalizePath string path return
  • 与自我绑定的窗口?

    我试图将窗口的数据上下文设置为自身 但我无法弄清楚语法应该是什么
  • 向 SpringBootTest 添加配置类会破坏组件扫描

    我正在尝试禁用真正的 Mongo 连接并在测试中将其替换为 Fongo 模拟 这是我的测试课 SpringBootTest RunWith SpringRunner class public class ControllerTest Aut
  • 在提交表单之前将复选框值合并到字符串中

    我正在将表单发送到我访问权限有限的外部服务器 我有一个表单 其中包含用户感兴趣的不同产品的许多复选框 我需要以单个字符串形式发送这些复选框 其中列出了他们检查的所有产品 我知道我需要使用 JavaScript 来捕获选择并将它们组合成一个变
  • Realitykit 功能在 ios 13.4.1 上崩溃,但在 15.2 上运行

    我有一个部署目标为 10 的项目 其 Realitykit 功能仅出现在 ios 13 设备上 问题是它在 ios 15 2 的真实设备中成功运行 但在 ios 13 4 1 中崩溃并出现错误 实例化缺少弱链接祖先的类的类元数据 avail
  • jOOQ“EXTRACT(EPOCH FROM [field])”解决方法?

    有一种语法允许将时间戳转换为各种日期部分 包括 unix 纪元 其工作原理如下 至少在最新的 PostgreSQL 中 SELECT EXTRACT EPOCH FROM ts FROM 然而 jOOQ 似乎不支持这种语法 如下所示这次讨论
  • hunchentoot 使用 ssl 定义-easy-handler?

    我一直使用define easy handler 我现在有一个新创建的 ssl 证书和关联的 pem 文件 但无法弄清楚 d e h 的 ssl 等效项是什么 例如 我有 hunchentoot define easy handler lo
  • C 中的免费二维数组

    当我遇到以下示例时 我正在解决一些简单的指针练习 void deallocate2D int array int nrows deallocate each row int i for i 0 i lt nrows i free array
  • 与可为空值的 SQL 相等/不相等比较

    首先采取 拼凑解决方案 哨兵方法 您的程序必须不允许输入哨兵值 select coalesce a 2147483648 coalesce b 2147483648 as is equal a little postgresism 假设您忘
  • 随机生成弯曲/波浪路径

    我有一张比视口大得多并且位于视口中心的巨大地图图像 用户可以通过拖动屏幕来浏览该图像 为了创造视差效果 我在前景中使用了巨大的云图像 当用户通过拖动探索地图时 背景和前景都会以视差方式移动 到目前为止 一切都很好 然而 我真正想做的是给云的
  • PHP递归删除函数

    我编写了用于文件夹删除的递归 PHP 函数 我想知道如何修改此函数以删除虚拟主机中的所有文件和文件夹 不包括给定的文件和文件夹名称数组 例如 cgi bin htaccess BTW 使用此函数完全删除像这样的目录调用 recursive
  • 如何在没有 Outlook 的情况下通过 VBA 发送电子邮件

    我尝试在 VBA 中通过 SMTP 发送电子邮件 但返回错误 Dim CDOmsg As CDO Message Set CDOmsg New CDO Message With CDOmsg Configuration Fields Ite
  • 我可以在“with”之外运行剧作家吗?

    我怎样才能跑 browser sync playwright chromium launch 根据文档 playwrite 必须与 with 一起运行 with sync playwrith as p 是什么导致我的浏览器在 with 结束
  • 如何同步 PL/SQL 调用的 java 方法

    我只是有一个与并发相关的问题 其逻辑流程是当客户端 称为Oracle Forms 提交请求 称为并发程序 并调用plsql过程时 该过程最终将调用java静态方法 我发现 当我同时或在很短的时间间隔 例如1秒 内提交两个请求时 会注意到一些
  • 我如何从android中的广播接收器访问数据库?

    我正在开发一个警报应用程序BroadcastReceiver 这里我需要从数据库检查警报是否打开或关闭 所以我需要在广播事件到来时检查警报的状态 我必须将数据库访问代码放入BroadcastReceiver class onReceive
  • 以编程方式自动布局不起作用

    我想以编程方式将 UIImageView 添加到视图中 并添加约束以使其垂直和水平居中 使用故事板 它可以工作 但不能以编程方式工作 class ViewController UIViewController override func v
  • Mysqli 和在插入期间绑定多个值集[重复]

    这个问题在这里已经有答案了 希望有人可以在这里给我一些见解 当必须一次将多行插入表中时 我使用了如下所示的 sql INSERT INTO some names firstName lastName VALUES Joe Smith Fre
  • mysql按类ajax更新表

    我正在尝试使用 ajax 按类而不是 id 更新行数量 我在谷歌上搜索了几个小时试图解决这个问题 但我能找到的所有东西似乎都不起作用 到目前为止我的代码是 include config php id GET id sql2 SELECT F
  • geom_bar 中的条形宽度不相等

    对于以下数据框 我想使用以下方法绘制几个条形图ggplot df lt data frame Disease c Disease1 Disease2 Disease3 Disease3 Disease3 Disease4 Disease5