R语言画柱状图数据变换

2022-05-23  本文已影响0人  学生信的大叔

前几天画条形图,自己统计出来的数据把自己看蒙了半天,乍一看有点不会转换了。

记录下数据转换的过程

初始数据与画图要求

data内容.png

自己统计完数据放到excel中就是上图中的情况。然后需要把第一列作为横坐标,以A,B两种统计方法作为并列柱状图的数值。

数据变换过程

library(tidyverse)
library(openxlsx)


df <- read.xlsx("./data.xlsx", colNames = T, rowNames = T) 

df2 <- df %>% t() %>% #转置后为矩阵"matrix" "array" 
  as.data.frame() %>% 
  rownames_to_column() %>% 
  gather(                #变长数据
          key = "type",  # 原来列名变换为一列内容的列名
         value = "value",# 原来数值转换为一列的列名。
         -rowname)  #指定不转换为长数据的列。可以用列名,可以指定x:y,也可以用排除法-y等等。 

  

转换后的数据入下图

转换后数据.png

绘制草图

绘制的草图如下,然后根据自己的要求,更改x轴坐标顺序,调色,修改主题,修饰图例就可以了。

  ggplot(df2,aes(type,value,fill=rowname))+
    geom_bar(stat = "identity", position = "dodge")
#ggsave("plot.jpg", dpi = 600, width = 5,height = 4)

plot.jpg
上一篇下一篇

猜你喜欢

热点阅读