Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在次y轴上绘制多条字符和多行字符?_R_Ggplot2_Plot - Fatal编程技术网

R 如何在次y轴上绘制多条字符和多行字符?

R 如何在次y轴上绘制多条字符和多行字符?,r,ggplot2,plot,R,Ggplot2,Plot,提前谢谢。 我想在主y轴上绘制一个多条形图,同时在次y轴上以不同的比例(R)绘制多条线。以下是测试数据 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) ) test.data您可以使

提前谢谢。 我想在主y轴上绘制一个多条形图,同时在次y轴上以不同的比例(R)绘制多条线。以下是测试数据

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) )

test.data您可以使用以下代码

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()
库(tidyverse)
测试数据%
子集(在%c(“A”、“B”)中键入%
df2%
枢轴长度(cols=-TYPE)%>%
子集(在%c(“c”、“D”)中键入%
ggplot()+
几何坐标(数据=df1,aes(x=name,y=value,fill=TYPE),位置=position\u dodge())+
刻度盘(手动(“类型”,数值=c(“A”=“56B4E9”,“B”=“E69F00”))+
几何点(数据=df2,aes(x=名称,y=值*5,组=类型,列=类型))+
geom_线(数据=df2,aes(x=名称,y=值*5,组=类型,列=类型))+
刻度颜色手动(“类型”,值=c(“c”=“黑色”,“D”=“黑色”))+
缩放y连续(name=“第一轴”,
秒轴=秒轴(trans=~*1/5,name=“第二轴”))+
主题_bw()

您尝试过什么代码?如果次轴与主轴不线性相关,我应该如何设置“sec_轴”?例如,主轴的范围为0-40,而次轴的范围可以是-1~1或-2~5。