ggplot:手动添加未映射的美观图例

2024-01-09

我想生成一个覆盖有点的条形图,其中两者都有单独的图例。另外,我想使用外部参数选择条形的颜色和点的大小aes()。由于两者均未映射,因此不会生成图例。

1)如何手动添加填充和尺寸图例?

library(ggplot2)

d <- data.frame(group = 1:3,    
                prop = 1:3 )

ggplot(d, aes(x=group, y=prop)) +
  geom_bar(stat="identity", fill="red") +
  geom_point(size=5)

这就是我想到的:我使用了虚拟映射,然后根据我的需要修改了图例。但这种方法对我来说显得很笨拙。

2)是否有手动方式说:添加带有此标题、这些形状、这些颜色等的图例?

d <- data.frame(dummy1="d1",
                dummy2="d2",
                group = 1:3,    
                prop = 1:3 )


ggplot(d, aes(x=group, y=prop, fill=dummy1, size=dummy2)) +
  geom_bar(stat="identity", fill="red") +
  geom_point(size=5) +
  scale_fill_discrete(name="fill legend", label="fill label") +
  scale_size_discrete(name="size legend", label="size label")

上面是我映射的fill to dummy1。所以我期望scale_fill_discrete来改变这个传说。但似乎修改了size传说代替。

3)我不确定这里出了什么问题。有任何想法吗?


我不知道你为什么说“另外,我想使用 aes() 外部的参数选择条形的颜色和点的大小”。这是您正在尝试做的事情,还是考虑到 ggplot 的工作原理,您必须做的事情?

如果是后者,一种解决方案如下 -

library(ggplot2)

d <- data.frame(group = 1:3,    
                prop = 1:3 )

ggplot(d, aes(x=group, y=prop)) +
    geom_bar(stat="identity",aes( fill="label")) +
    geom_point(aes(size='labelsize')) +
    scale_fill_manual(breaks = 'label', values = 'red')+
    scale_size_manual(breaks = 'labelsize', values = 5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot:手动添加未映射的美观图例 的相关文章

  • Shiny:如何在数据表中显示条形图

    我想在数据表中显示条形图 这link http jsfiddle net annoyingmouse em27yod1 显示我想使用 javascript 做什么 我不了解 javascript 或 html 所以你能告诉我是否可以使用闪亮
  • 测试 PCA 图上簇的显着性

    是否可以在 PCA 图上测试 2 个已知组之间聚类的显着性 测试它们的接近程度或分布量 方差 以及簇之间的重叠量等 这是一种定性方法 使用ggplot 在簇周围绘制 95 置信椭圆 注意stat ellipse 使用二元 t 分布 libr
  • 如何根据R中的条件创建新变量

    我正在尝试根据某些条件创建一个新变量 我的数据看起来像 a b 1 NA 2 3 3 3 NA 2 NA NA 我想要的是一个变量c这样 when a is not NA b is NA c a when a is NA b is not
  • 使用 ff 包导入文本文件

    我有一个包含 450 万行和 90 列的文本文件要导入到 R 中 read table我得到了cannot allocate vector of size 错误消息 因此我尝试使用 ff 包导入 然后再对数据进行子集化以提取我感兴趣的观察结
  • 如何在 Windows 上使用 freeType 构建 rgl

    我正在尝试 并且非常失败 建立rgl封装有freeType在 Windows 上 因为事实证明 rgl我通过 Rgui 安装的 Windows 二进制文件不包括freeType支持 我需要它的原因是this https stackoverf
  • R 将向量重塑为多列

    假设我在 R 中有一个向量 如下所示 d lt seq 1 100 我想将这个向量重塑为 10x10 矩阵 这样我就可以得到以下数据 1 2 3 10 1 2 3 10 11 12 13 20 21 22 23 30 91 92 93 10
  • 如何在 purrr::map_df 之后使用映射向量添加列

    我使用 mtcars 数据集作为示例来说明我的问题 我对每种气缸类型进行了线性回归 并使用 map df 将所有模型结果放在一起 下面的代码和输出 我想要做的是添加另一列名为 圆柱体 4 4 6 6 8 8 我怎样才能在map df中做到这
  • Python 是否有相当于 R 的sample() 函数?

    我想知道Python是否有相当于sample R 中的函数 The sample https stat ethz ch R manual R devel library base html sample html函数使用带替换或不带替换的方
  • 连接极线ggplot图中的间隙

    当 ggplot 使用极坐标绘制线图时 它会在最高和最低 x 值之间留下间隙 Dec and Jan如下 而不是缠绕成螺旋状 我怎样才能继续这条线并缩小差距 特别是 我想使用月份作为 x 轴 但在一条循环线上绘制多年的数据 Reprex l
  • R 脚本 - 如何在错误时继续执行代码

    我编写了一个 R 脚本 其中包含一个检索外部 Web 数据的循环 数据的格式大多数时候是相同的 但有时格式会以不可预测的方式发生变化 并且我的循环崩溃 停止运行 有没有办法不管错误如何继续执行代码 我正在寻找类似于 VBA 中的 On er
  • ggplot2 stat_function,具有针对facet_grid内不同数据子集的计算参数

    我有一个关于如何通过的后续问题fitdistr计算参数为stat function see here https stackoverflow com questions 24949065 multiple stat function on
  • 使用 knit 以编程方式将 R 块中的图像包含在 .md 文档中

    我想以编程方式在我的 Rmd markdown 文档中包含大量图像 就像是 r echo FALSE cat myfile 1 png 将不起作用 因为结果 md输出是 myfile 1 png 我需要去掉代码标签 和领先的 是否有一个选项
  • 使用 mutate_if 和 Replace_na 替换数字列上的 NA

    我想使用某些变体替换数字列中的 NAmutate if and replace na如果可能的话 但无法弄清楚语法 df lt tibble first c a NA b second c NA 2 NA third c 10 NA NA
  • R:连接到 Teradata 时 JDBC() 找不到 Java 驱动程序路径

    我正在尝试通过 RStudio 连接到 Teradata 但由于某种原因 JDBC 函数在识别 Java 驱动程序所在的路径时出现问题 请参阅下面的代码 library RODBC library RJDBC library rJava b
  • 具有不同侧边栏的选项卡

    我正在尝试创建一个带有多个选项卡的闪亮应用程序 每个选项卡都有自己的侧边栏 我还没能让它发挥作用 任何有关错误的帮助将不胜感激 下面是代码 ui lt fluidPage titlePanel Hi sidebarLayout positi
  • 如何在 R闪亮中使操作不间断

    在我闪亮的应用程序中 我有一个应该不断更新自身的输出 但是每当我执行长时间运行的计算时 输出就会暂停 我的问题是 如何让输出持续不间断地运行 请参阅下面的简短演示 时钟每一秒刷新一次 但如果我单击运行 5 秒的按钮 时钟就会暂停 libra
  • 如何在 RStudio 窗口模式下设置闪亮的应用程序大小?

    我想知道是否有办法在 RStudio 中以预先指定的窗口大小的窗口模式启动闪亮应用程序 我通过使用以下代码创建新文件找到了解决方法 library shiny vwr dialogViewer modellvergleiche irt wi
  • 将带有日期的列转换为 R 中的行

    假设 R 中有一个如下所示的 data frame d data frame 2019q1 1 2019q2 2 2019q3 3 看起来像这样 X2019q1 X2019q2 X2019q3 1 1 2 3 我怎样才能把它变成这样 Yea
  • 绘制 grobs 列表

    披露 我不确定如何为这个问题制作一个可重现的例子 我正在尝试使用以下方法绘制 grobs 列表gridExtra包裹 我有一些代码看起来像这样 Make Graphic Objects for Spec and raw traces for
  • 将列类型转换为数字时更改值

    我有一个具有上面格式的数据文件 我将其加载到 R 中 并尝试使用 dist 列中的值绘制直方图 但出现错误 x 必须是数字 因此我尝试更改格式 gt head data V1 V2 1 type gene dist 2 A 64667 3

随机推荐