如何在R>中使用双Y轴将图例添加到ggplot

王爱伦

我正在尝试找到一种将图例添加到ggplot图中的方法。我尝试了多种方法,但是没有一种方法可以让图例出现。这是我正在使用的数据集。以下是我到目前为止编写的代码。

library(dplyr)
library(tidyr)
library(ggplot2)
library(lubridate)
library(ggthemes)

stock %>%
  drop_na(disease, US_Stock, China_Stock) %>%
  filter(disease == "Ebola") %>%
  ggplot(aes(x = date)) + 
    geom_line(aes(y = US_Stock), size = 0.5, col = "dark green") +
    geom_line(aes(y = China_Stock/5+1500), size = 0.5, col = "red") +
    scale_x_date(name = "Date") +
    scale_y_continuous(name = "US Stock Market (S&P 500)", 
                       sec.axis = sec_axis(~(.-1500)*5, name = "China Stock Market (CSI300)")) +
    labs(title = "Figure 3: Stock Market under Ebola", caption = "Death Rate: 50%-90%")  +
    theme_stata() 

这是我数据中的一些观察结果。

爱德华

我更喜欢将所有股票重塑为一列,因为这有助于传说和其他美学。我还使用了平均值来确定比率,这使得图形更加有趣。(但我不喜欢双轴)。

library(dplyr)
library(tidyr)
library(ggplot2)
library(lubridate)
library(ggthemes)
ratio = mean(stock$China_Stock)/mean(stock$US_Stock)

stock %>%
  mutate(China_Stock=China_Stock / ratio) %>%
  pivot_longer(cols=ends_with("Stock"), names_pattern="(.+)_(Stock)",
               names_to = c("Country", ".value")) %>%
  ggplot(aes(x = date, y=Stock, col=Country)) + 
  geom_line(size = 0.5) +
  scale_color_manual(values=c("darkgreen","red")) +
  labs(title = "Figure 3: Stock Market under Ebola", caption = "Death Rate: 50%-90%") +
  scale_y_continuous(name = "US Stock Market (S&P 500)", 
                       sec.axis = sec_axis(~.*ratio, name = "China Stock Market (CSI300)")) +
  theme_minimal() 

在此处输入图片说明


数据:

stock <- structure(list(ID = 131:140, date = structure(c(11878, 11879, 
                                                        11880, 11883, 11884, 11885, 11886, 11887, 11890, 11891), class = "Date"), 
                       US_Stock = c(920.47, 927.37, 921.39, 917.93, 901.05, 906.04, 
                                    881.56, 847.76, 819.85, 797.7), China_Stock = c(1392.9, 1390.93, 
                                                                                    1389.45, 1379.38, 1382.41, 1393.02, 1397.41, 1403.25, 1380.28, 
                                                                                    1375.61), disease = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
                                                                                                                    1L, 1L, 1L), .Label = "SARS", class = "factor")), class = "data.frame", row.names = c(NA, 
                                                                                                                                                                                                          -10L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ggplot的双y轴上放置图例

来自分类Dev

R 将图例添加到 ggplot2

来自分类Dev

如何使用点图将图例添加到ggplot2线?

来自分类Dev

R:将轴标题添加到非ggplot对象

来自分类Dev

使用R将图例添加到绘图中

来自分类Dev

使用R将图例添加到绘图中

来自分类Dev

如何使用 xyplot 将条带标签添加到 y 轴

来自分类Dev

如何在R中使用reporteR将日期添加到docx文档?

来自分类Dev

在R中使用ggplot将参考线添加到条形图中

来自分类Dev

如何在R中的ggplot2中添加图例信息以获得添加到箱线图中的点的含义?

来自分类Dev

如何将多个geom_smooth线添加到图例(ggplot)?

来自分类Dev

ggplot:如何将标签添加到多个绘图(geom_text,没有图例)?

来自分类Dev

如何将 ggplot 中的图例添加到我的图表中

来自分类Dev

如何在 R 中使用 ggplot2 编辑图例?

来自分类Dev

R:将自定义图例添加到ggplot

来自分类Dev

如何在R中使用paste0()将列添加到数据帧列表中?

来自分类Dev

散景-如何将y值添加到水平跨度的y轴?

来自分类Dev

如何在R中使用Lapply将y轴标签从R图移开

来自分类Dev

在R中使用For循环将元素添加到列表

来自分类Dev

如何在R中使用seqmtplot配置y轴?

来自分类Dev

如何在R中使用seqmtplot配置y轴?

来自分类Dev

如何在R中使用ggplot2在轴刻度线上添加轴标签,类似于Fivethirtyeight样式?

来自分类Dev

如何在使用日期时手动将中断添加到ggplot2?

来自分类Dev

如何在使用日期时手动将中断添加到ggplot2?

来自分类Dev

R将图例添加到带循环的图

来自分类Dev

将图例添加到 geom_density R

来自分类Dev

如何将X和Y轴的预先计算的标准误差添加到r中的散点图中?

来自分类Dev

如何将外部图例添加到Matplot?

来自分类Dev

Seaborn:如何将图例添加到seaborn barplot

Related 相关文章

  1. 1

    如何在ggplot的双y轴上放置图例

  2. 2

    R 将图例添加到 ggplot2

  3. 3

    如何使用点图将图例添加到ggplot2线?

  4. 4

    R:将轴标题添加到非ggplot对象

  5. 5

    使用R将图例添加到绘图中

  6. 6

    使用R将图例添加到绘图中

  7. 7

    如何使用 xyplot 将条带标签添加到 y 轴

  8. 8

    如何在R中使用reporteR将日期添加到docx文档?

  9. 9

    在R中使用ggplot将参考线添加到条形图中

  10. 10

    如何在R中的ggplot2中添加图例信息以获得添加到箱线图中的点的含义?

  11. 11

    如何将多个geom_smooth线添加到图例(ggplot)?

  12. 12

    ggplot:如何将标签添加到多个绘图(geom_text,没有图例)?

  13. 13

    如何将 ggplot 中的图例添加到我的图表中

  14. 14

    如何在 R 中使用 ggplot2 编辑图例?

  15. 15

    R:将自定义图例添加到ggplot

  16. 16

    如何在R中使用paste0()将列添加到数据帧列表中?

  17. 17

    散景-如何将y值添加到水平跨度的y轴?

  18. 18

    如何在R中使用Lapply将y轴标签从R图移开

  19. 19

    在R中使用For循环将元素添加到列表

  20. 20

    如何在R中使用seqmtplot配置y轴?

  21. 21

    如何在R中使用seqmtplot配置y轴?

  22. 22

    如何在R中使用ggplot2在轴刻度线上添加轴标签,类似于Fivethirtyeight样式?

  23. 23

    如何在使用日期时手动将中断添加到ggplot2?

  24. 24

    如何在使用日期时手动将中断添加到ggplot2?

  25. 25

    R将图例添加到带循环的图

  26. 26

    将图例添加到 geom_density R

  27. 27

    如何将X和Y轴的预先计算的标准误差添加到r中的散点图中?

  28. 28

    如何将外部图例添加到Matplot?

  29. 29

    Seaborn:如何将图例添加到seaborn barplot

热门标签

归档