我用ggplot创建了一个线图,代码如下:

colors <- c("65% 2018" = "dodgerblue", "65% future" = "red")

ggplot(dat, aes(x = year))+
  geom_ribbon(aes(ymin = futuro_q1_65, ymax = futuro_q3_65), alpha = .3,
              fill = "red", color = "transparent") +
  geom_line(aes(y= futuro_media_65,color = "65% future"), lwd = .7) +
  
  geom_ribbon(aes(ymin = X2018_q1_65, ymax = X2018_q3_65), alpha = .3,
              fill = "dodgerblue", color = "transparent") +
  geom_line(aes(y = X2018_media_65, color = "65% 2018"), lwd = .7) +

  scale_x_continuous(limits=c(2019,2110))+
  
  theme_classic()+
  theme(axis.text=element_text(size=10),
        axis.title=element_text(size=10),
        legend.position="right")+
  labs(x = "Year", y = "Evaporation", color = "water surface \nscenario") +
  scale_color_manual(values = colors)

结果图:enter image description here

现在,我想通过指定我之前计算的箱图值,在x=2110处手动添加箱图。我在末尾插入方框图的代码:

colors <- c("65% 2018" = "dodgerblue", "65% future" = "red")

ggplot(dat, aes(x = year))+
  geom_ribbon(aes(ymin = futuro_q1_65, ymax = futuro_q3_65), alpha = .3,
              fill = "red", color = "transparent") +
  geom_line(aes(y= futuro_media_65,color = "65% future"), lwd = .7) +
  
  geom_ribbon(aes(ymin = X2018_q1_65, ymax = X2018_q3_65), alpha = .3,
              fill = "dodgerblue", color = "transparent") +
  geom_line(aes(y = X2018_media_65, color = "65% 2018"), lwd = .7) +

  scale_x_continuous(limits=c(2019,2110))+
  
  theme_classic()+
  theme(axis.text=element_text(size=10),
        axis.title=element_text(size=10),
        legend.position="right")+
  labs(x = "Year", y = "Evaporation", color = "water surface \nscenario") +
  scale_color_manual(values = colors)+

geom_boxplot(
  stat = "identity",
  aes(x=2110,
      lower  = 2312.8,
      upper  = 2394.3,
      middle = 2343.5,
      ymin   = 2254.8,
      ymax   = 2440.4))

我收到以下错误:

geom_boxplot()中出错:!将geom转换为grob时出现问题。ℹ 第5层发生错误。由draw_group()中的错误引起:!每个组只能绘制一个方框图ℹ 你忘了aes(group = ...)吗?

我尝试了geom_pointrange,它确实有效:

ggplot(dat, aes(x = year))+
  geom_ribbon(aes(ymin = futuro_q1_65, ymax = futuro_q3_65), alpha = .3,
              fill = "red", color = "transparent") +
  geom_line(aes(y= futuro_media_65,color = "65% future"), lwd = .7) +
  
  geom_ribbon(aes(ymin = X2018_q1_65, ymax = X2018_q3_65), alpha = .3,
              fill = "dodgerblue", color = "transparent") +
  geom_line(aes(y = X2018_media_65, color = "65% 2018"), lwd = .7) +

  scale_x_continuous(limits=c(2019,2110))+
  
  
  
  theme_classic()+
  theme(axis.text=element_text(size=10),
        axis.title=element_text(size=10),
        legend.position="right")+
  labs(x = "Year", y = "Evaporation", color = "water surface \nscenario") +
  scale_color_manual(values = colors)+
  
  geom_pointrange(aes(x=2110,y=2343.5,ymax=2394.3,ymin=2312.8),col="red")

result with geom_pointrange

但这不是我想要的。如何获取箱图?

如何在预先存在的ggplot2线图中手动添加方框图的更多相关文章

  1. JDBCTM 指南:入门3 - DriverManager

    内容:3-DriverManager3.1概述DriverManager类是JDBC的管理层,作用于用户和驱动程序之间。另外,DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。但多数情况下,让DriverManager类管理建立连接的细节为上策。它创建该类的实例,然后在加载该实例时DriverManager类进行注册。这也是引入特定驱动程序的方法,因为一旦DriverManager类被初始化,它将不再检查jdbc.drivers属性列表。

  2. PHP的宝库目录--PEAR

    请跟我来,使用PEAR标准编写你的PHP程序吧,你的程序将会拥有更大的活力,你的程序和代码将会很方便地和其他高手的代码融合在一起,PEAR就象CPAN对于PERL一样,会让PHP产生更高的能量。PHPDoc也是一个PEAR的应用程序,更详细的介绍你可以去http://www.phpdoc.de/查看。

  3. Python boxplot 用法详解

    这篇文章主要介绍了Python boxplot 用法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. Python pyecharts Boxplot箱线图的实现

    本文主要介绍了Python pyecharts Boxplot箱线图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. PHP 中 var_export、print_r、var_dump 调试中的区别

    这篇文章主要介绍了PHP 中 var_export、print_r、var_dump 调试中的区别,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  6. PHP中的print_r 与 var_dump 输出数组

    下面小编就为大家带来一篇PHP中的print_r 与 var_dump 输出数组。小编觉得挺不错的,现在就分享给大家,也给大家做个参考

  7. 没有适用于&#39;inner_join&#39;应用于“类”的对象;字符“;?

    我是一个初学者,最近才开始尝试在R中编程。我现在使用一个简单的pokemon数据集,只是为了练习,我想尝试用一个变量建立一个直方图。但为此,我试图将两个不同的列:Type.1和Type.2。两者都有相同的变量,但当我尝试inner_join时,我得到以下消息:类型_统一<;-inner_join没有适用于“inner_join”类对象的方法我在尝试left_join时也犯了同样的错误我该怎么做才能将这两列合并为一列?我只是想将两列统一为一个变量,以应用直方图

  8. 给定一个列名,从R中数据帧的底行提取最后一个非空值

    对于以下数据集df,我希望给出列名,返回以提取并返回最近一天的非空值:这意味着我们可以实现类似的功能,但不需要传递特定的日期值:我可以问一下如何实现它吗?

  9. 计算进行转换时同一客户端id进行交互的次数

    对于每次转换,我需要计算client_id进行交互或转换的次数,但只计算自上次转换以来的交互次数。

  10. R中的时间趋势分析:露天包装

    我正在尝试对空气污染数据进行趋势分析。我的数据格式如下:我尝试过使用openair::TheilSen,但它不起作用。我实际上需要5张图,但我无法将它们分组。

随机推荐

  1. 如何扩展ATmega324PB微控制器的以下宏寄存器?

    我目前正在学习嵌入式,我有以下练习:展开以下宏寄存器:如果有人解决了这个问题,我将不胜感激,以便将来参考

  2. Python将ONNX运行时设置为返回张量而不是numpy数组

    在python中,我正在加载预定义的模型:然后我加载一些数据并运行它:到目前为止,它仍在正常工作,但我希望它默认返回Tensor列表,而不是numpy数组。我对ONNX和PyTorch都是新手,我觉得这是我在这里缺少的基本内容。这将使转换中的一些开销相同。

  3. 在macOS上的终端中使用Shell查找文件中的单词

    我有一个文本文件,其中有一行:我需要找到ID并将其提取到变量中。我想出了一个RexEx模式:但它似乎对我尝试过的任何东西都不起作用:grep、sed——不管怎样。我的一个尝试是:我为这样一个看似愚蠢的问题感到抱歉,但我在互联网上找不到任何东西:我在SO和SE上读了几十个类似的问题,并在谷歌上搜索了几个教程,但仍然无法找到答案。欢迎提供任何指导!

  4. react-chartjs-2甜甜圈图中只有标题未更新

    我正在使用react-chartjs-2在我的网站中实现甜甜圈图。下面是我用来呈现图表的代码。我将甜甜圈图的详细信息从父组件传递到子组件,所有道具都正确传递。当我在beforeDraw函数外部记录props.title时,它会记录正确的值,但当我在beforeDraw函数内部记录props.title时,它将记录标题的前一个值,从而呈现标题的前值。我在这里做错了什么?

  5. 如何在tkinter中使用Python生成器函数?

    生成器函数承诺使某些代码更易于编写。但我并不总是知道如何使用它们。假设我有一个斐波那契生成器函数fib(),我想要一个显示第一个结果的tkinter应用程序。当我点击“下一步”按钮时,它会显示第二个数字,依此类推。我如何构建应用程序来实现这一点?我可能需要在线程中运行生成器。但如何将其连接回GUI?

  6. 如何为每次提交将存储库历史记录拆分为一行?

    我正在尝试获取存储库的历史记录,但结果仅以单行文本的形式返回给我。

  7. 尝试在颤振项目上初始化Firebase时出错

    当尝试在我的颤振项目上初始化firebase时,我收到了这个错误有人知道我能做什么吗?应用程序分级Gradle插件Gradle项目颤振相关性我已经将firebase设置为Google文档已经在另一个模拟器上尝试过,已经尝试过创建一个全新的模拟器,已经在不同的设备上尝试过了,已经尝试了特定版本的firebase,已经尝试添加但没有任何效果,已经在youtube上看到了关于它的每一个视频,该应用程序在android和iOS两个平台上都抛出了这个错误

  8. 在unix中基于当前日期添加新列

    我试图在unix中基于时间戳列在最后一个单元格中添加一个状态列。我不确定如何继续。

  9. 麦克斯·蒙特利。我一直得到UncaughtReferenceError:当我在终端中写入node-v时,节点未定义

    如果这是您应该知道的,请确认:我已将所有shell更改为默认为zsh。当我在终端中写入node-v时,我一直收到“UncaughtReferenceError:nodeisnotdefined”。但它显示节点已安装。我是个新手,在这方面经验不足。

  10. 如何在前端单击按钮时调用后端中的函数?

    那么如何在后端添加一个新的端点,点击按钮调用这个函数。

返回
顶部