在R中使用ggplot绘制龙卷风图

时间:2019-03-17 04:59:13

标签: r ggplot2

我有3个变量(H,M,S)的表,分别具有最大值和最小值。

structure(c(29.2933333333333, 9.29333333333333, 17.7688888888889, 
20.8177777777778, 26.97, 3.93999999999999), .Dim = 2:3, .Dimnames = list(
c("high", "low"), c("height", "mass", "strands")))

我想在龙卷风图上绘制这些值,并在高于或低于基线19时将其分开。 最终产品应该是这样的:

enter image description here

非常感谢!

1 个答案:

答案 0 :(得分:1)

如果我对目标很了解,我们可以使用:

library(ggplot2)
library(tidyr)
library(dplyr)
df %>% 
  as.data.frame() %>% 
  mutate(Level=as.factor(row.names(.))) %>% 
  gather(key,value,-Level) %>% 
  ggplot(aes(key,value,fill=Level))+
  geom_bar(stat="identity",position="identity")+
  coord_flip()

选项2:

df %>% 
  as.data.frame() %>% 
  mutate(Level=as.factor(row.names(.))) %>% 
  gather(key,value,-Level) %>% 
  mutate(Level=ifelse(value>19,"high","low")) %>% 
  ggplot(aes(key,value,fill=Level))+
  geom_bar(stat="identity",position="identity")+
  coord_flip()

选项1的结果: enter image description here