簡體   English   中英

如何在輔助 y 軸上使用多行字符 plot 多條字符?

[英]How to plot multi bar char with multi line char on secondary y-axis?

提前致謝。 我想 plot 在主 y 軸上繪制多條形圖,同時在 R 中以不同比例在輔助 y 軸上繪制多條線。 這是測試數據。

test.data<-data.frame(TYPE=c("A","B","C","D"), D1=c(20,10,1,1.1), 
      D2=c(40,20,3,2), D3=c(9,30,8,3), D4=c(12,20,3,6), D5=c(30,10,6,3) )

我希望它可以像下面這樣顯示。

在此處輸入圖像描述

您可以使用以下代碼

library(tidyverse)

test.data<-data.frame(TYPE=c("A","B","C","D"), D1=c(20,10,1,1.1), 
                      D2=c(40,20,3,2), D3=c(9,30,8,3), D4=c(12,20,3,6), D5=c(30,10,6,3) )


df1 <- test.data %>% 
  pivot_longer(cols = -TYPE) %>% 
  subset(TYPE %in% c("A","B"))


df2 <- test.data %>% 
  pivot_longer(cols = -TYPE) %>% 
  subset(TYPE %in% c("C","D")) 


ggplot() + 
  geom_col(data = df1, aes(x = name, y = value, fill = TYPE), position = position_dodge()) +
  scale_fill_manual("Type", values = c("A" = "#56B4E9", "B" = "#E69F00"))+
  geom_point(data = df2, aes(x = name, y = value*5,  group = TYPE, col = TYPE)) + 
  geom_line(data = df2, aes(x = name, y = value*5, group = TYPE, col = TYPE)) +
  scale_color_manual("Type", values = c("C" = "darkgrey", "D" = "black"))+
  scale_y_continuous(name = "First Axis",
                     sec.axis = sec_axis(trans = ~.*1/5, name="Second Axis"))+
  theme_bw()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM