[英]R - Plotting with ggplot2 with x as the data of a row and y the column names
我想使用 ggplot2 來 plot 一個 geom_point()。
我的小標題如下所示。 它是單行小標題,我希望 x 軸是行,y 軸是列名(用作日期)
所以我嘗試了這個:
g <- ggplot(data, aes(x = data, y = str_remove_all(colnames(data), "X"))) +
geom_point()
g
但它不起作用。
我有可能轉置我的 tibble 的想法,但我真的不知道該怎么做。
在此先感謝您的幫助。
OP,您需要重新組織數據以遵循Tidy Data指南。 幸運的是,在R
中有很多方法可以做到這一點。 我通常默認通過gather()
使用tidyr
和dplyr
,您需要將所有列“收集”在一起並將這些列名用作“鍵”,而“值”將是觀察值(行值)。
由於 OP 沒有以易於使用的格式共享他們的數據.. 這是一個代表:
set.seed(1234)
df <- data.frame(NA)
for(i in LETTERS){ df[[i]]=sample(1:10, size=1) }
df <- df[,-1] # gives you data frame with 1 row and 26 columns
這為您提供了一個包含 26 列(“A”到“Z”)的數據框,其中每列的一個觀察值是從 1 到 10 的隨機 integer。以下是如何將它們收集在一起並用於制作 plot:
library(dplyr)
library(tidyr)
library(ggplot2)
df <- df %>% gather(key=y, value=x) # result = data frame with 2 columns and 26 rows
ggplot(df, aes(x=x, y=y)) + geom_point()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.