geom_area 绘图默认堆叠区域

2023-11-24

我在用geom_area绘制一个非常简单的数据集。绘图时使用geom_line一切正常,但是当我切换到geom_area绘制更高的值。我认为查看图表是代表我的问题的最佳方式:

require(tidyverse)

x <- structure(list(Time = 0:40, X15.DCIA = c(0, 1, 0.5, 0, 2, 2.5, 
      1, 0.5, 0, 1, 1.5, 1, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 3, 
      5, 7, 6.5, 5.5, 4, 3, 2, 1.5, 1, 0.25, 0, 0, 0, 0, 0, 0, 0), 
      X100.DCIA = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
      0, 0, 0, 0, 0, 0, 0, 0, 1.5, 7, 8, 7.5, 6.5, 5, 3.5, 2.25, 
      1.75, 1.1, 0.4, 0.1, 0, 0, 0, 0, 0, 0)),
      class = "data.frame", row.names = c(NA,-41L))

 x %>% gather(prct.DCIA, Vol, -Time) %>% ggplot(aes(x=Time, y=Vol)) +
  geom_line(aes(color=prct.DCIA))


 x %>% gather(prct.DCIA, Vol, -Time) %>% ggplot(aes(x=Time, y=Vol)) +
  geom_area(aes(fill=prct.DCIA))

plotst

The geom_line是我所期望的(我的数据的线图)。

但后来看看geom_area你看到了100DCIA已经跃升至15。

我对一个更感兴趣解释而不是修复或解决方法。

Note:

这可以是一个解决方法:

x %>% gather(prct.DCIA, Vol, -Time) %>% ggplot(aes(x=Time, y=Vol)) + 
      geom_polygon(aes(fill=prct.DCIA, alpha=0.5)) + guides(alpha=FALSE)

Answer recommended by R Language Collective

解释:你的地块一层一层地堆积起来。

您在图中红线后面看到的值geom_area图表是您的红线和蓝线的值的总和geom_line graph.

如果你分开你就能清楚地看到这一点prct.DCIA with facet_grid():

x %>% gather(prct.DCIA, Vol, -Time) %>% ggplot(aes(x=Time, y=Vol)) +
  geom_area(aes(fill=prct.DCIA)) + facet_grid(.~prct.DCIA)

enter image description here

这仅仅是因为position = "stack" 是默认参数 geom_area:

geom_area(mapping = NULL, data = NULL, stat = "identity",
  position = "stack", na.rm = FALSE, show.legend = NA,
  inherit.aes = TRUE, ...)

人们可能会认为这是因为人们使用geom_area因为他们想在图表上显示整个区域,而不是填充某些线条。一般来说,条形或面积可能代表某物的计数,或者填充的区域代表某物,而点或线可能代表点估计,而线或点上方或下方的面积没有意义。

Cf. 默认参数 geom_line is position = "identity".

geom_line(mapping = NULL, data = NULL, stat = "identity",
  position = "identity", na.rm = FALSE, show.legend = NA,
  inherit.aes = TRUE, ...)

Fix:如果你使用position = position_dodge()您可以看到它们恢复到折线图的样子,红色区域绘制在蓝色区域后面:

  x %>% gather(prct.DCIA, Vol, -Time) %>% ggplot(aes(x=Time, y=Vol)) +
  geom_area(aes(fill=prct.DCIA), position = position_dodge())

enter image description here

你甚至可以设置alpha

x %>% gather(prct.DCIA, Vol, -Time) %>% ggplot(aes(x=Time, y=Vol)) +
  geom_area(aes(fill=prct.DCIA), position = position_dodge(), alpha = 0.5)

enter image description here

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

geom_area 绘图默认堆叠区域 的相关文章

随机推荐

  • 为什么在循环中使用 sleep 时,Python 中的 print 不会暂停?

    这段代码 import time for i in range 10 print i time sleep 5 导致我的计算机挂起 5 秒 然后打印出 0 9 而不是每半秒打印一个数字 难道我做错了什么 print 默认情况下 打印到sys
  • Django获取视图中的静态文件URL

    我正在使用 reportlab pdfgen 创建 PDF 在 PDF 中有一张由以下人员创建的图像drawImage 为此 我需要图像的 URL 或视图中图像的路径 我成功构建了 URL 但如何获取图像的本地路径 我如何获取网址 pref
  • libc++ 的 wchar_t 输出

    include
  • PCWSTR 与 LPWSTR

    据我了解 如果我错了 请纠正我 它们之间的唯一区别是字符串是否可以被调用的函数修改 PCWSTR LPWSTR 我现在尝试将一个字符串从 C 传递到一个期望的函数PCWSTR 但我能找到的只是 MarshalAs UnmanagedType
  • C++:构造函数中的多维数组初始化

    我想在 C 中使用恒定大小的二维数组作为类成员 不过 我在构造函数中初始化它时遇到问题 这是我的非工作尝试 1 class A public int a 2 2 A A A a 1 2 2 4 yields error assigning
  • 将 SQL Server Compact Edition 数据源添加到 Visual Studio 中?

    我想在 Visual Studio 2013 4 的项目中添加 SQL Server Compact 版本 但我的列表中没有数据源 另外 我没有System Data Sqlce在我的集会上 如何将 SQL Server Compact 数
  • java.lang.NoSuchMethodError:accessibilityHitTest

    我正在使用 Sikulix 2 0 6 消息字段有错误 java lang NoSuchMethodError accessibilityHitTest 我看了https github com openjdk jdk pull 5702 但
  • DynamoDBMapper 仅在唯一时保存项目

    我试图根据两个不同列的组合来保持表中项目的唯一性 我有一个 instanceId 和 imageId 列 以及其他列 并基于以下几篇文章堆栈溢出 and AWS 论坛下面应该工作吗 public void saveUnique Server
  • 大写还是小写文档类型?

    编写 HTML5 文档类型时正确的方法是什么 or 在 HTML 中 DOCTYPE 不区分大小写 以下 DOCTYPE 均有效 在 XML 序列化 即 XHTML 中 DOCTYPE 不是必需的 但如果您使用它 DOCTYPE应该是大写
  • iOS 11 禁止像 Netflix 一样进行屏幕录制

    我的应用程序中正在播放视频 但我不想被录制 什么Netflix应用程序的作用是在录制屏幕时捕获音频 但不捕获视频 有人知道如何实现这个功能吗 你可以听一听UIScreenCapturedDidChange通知 NotificationCen
  • Laravel 范围(按数据透视值)

    假设我想存储有关客户的各种数据 因此我有两个由数据透视表链接的模型 在数据透视表上存储每个数据字段类型的客户值 Customer public function datafields return this gt belongsToMany
  • 如何从现有项目文件中知道确切的flex sdk版本?

    我收到了一个继承旧的 Flex 项目 我从未与 Flex 合作过 我安装了最新的 Flash Builder 我需要知道所使用的 Flex SDK 的确切版本 有没有办法从项目文件中知道所使用的SDK版本 提前致谢 如果它是一个 AIR 项
  • 导出到 csv wordpress

    我需要将数据导出到 csv 文件中的一个表中 我能够正常获取数据 但浏览器并未生成 CSV 文件 我的代码是这样的 它是标题的问题 我只得到带有逗号分隔值的输出 但没有得到 csv 文件 Converting data to CSV pub
  • 添加注释到pdf

    我开发了一个 pdf 查看器 其中包含您的所有建议和代码片段 谢谢 现在我想把它变成一个pdf编辑器 我想为 iphone ipad 创建一个类似于 PDFKit 的应用程序 仅适用于桌面 我希望用户能够添加注释并突出显示文本部分 我该怎么
  • 为什么卷积神经网络可以具有低损失,但精度却非常低?

    I am new to machine learning and am currently trying to train a convolutional neural net with 3 convolutional layers and
  • jQuery SVG,为什么我不能 addClass?

    我正在使用 jQuery SVG 我无法向对象添加或删除类 有人知道我的错误吗 The SVG
  • 同步两个RichTextBox的滚动位置?

    在我的申请表中 我有两个RichTextBox对象 它们的文本行数始终相同 我想 同步 这两者之间的垂直滚动 以便当用户更改其中一个的垂直滚动位置时 另一个滚动相同的量 我该怎么做呢 感谢杰伊的回答 经过更多搜索 我也找到了所描述的方法he
  • Formik + 是的:如何在安装时立即验证表单?

    我想在安装表单时显示字段错误 提交后不行 Yup const validation Yup object shape field Yup string required Required Formik
  • golang中星号(*struct)表示法是什么意思

    NewReaderSize returns a new Reader whose buffer has at least the specified 43 size If the argument io Reader is already
  • geom_area 绘图默认堆叠区域

    我在用geom area绘制一个非常简单的数据集 绘图时使用geom line一切正常 但是当我切换到geom area绘制更高的值 我认为查看图表是代表我的问题的最佳方式 require tidyverse x lt structure