簡體   English   中英

plot R 中同一折線圖上的幾列如何?

[英]How to plot several columns on the same line chart in R?

我的data

year female male unknown
1929   0     50     0
1930   2     70     7
1931   0     400    1
1932  20     40     15
1933  25     120    0

我需要創建一個簡單的折線圖,其中包含 3 條線,我可以在其中看到多年來的性別變化。

我嘗試過類似的東西

data <- melt(data,  id.vars = 'year', variable.name = 'Gender')

ggplot(data, aes(year, value)) + geom_line(aes(colour = Gender))

但它向我顯示了一個空圖表和一條評論

geom_path:每組僅包含一個觀察值。 需要調整群體審美嗎?

  1. 我怎樣才能創建一個圖表,其中我將有三行,每個性別一個?

  2. 另外,我的日期比這個大,它包含 92 年,所以當我 plot 某事時,我在 x 軸上得到了一大堆年份

在此處輸入圖像描述

有沒有辦法以某種方式解決它?

怎么樣

matplot(data$year,data[,-1], type="l")

?

tidyverse ,我們 pivot 為 'long' 格式,用列名 'name' 列指定groupcolor (默認命名)

library(dplyr)
library(tidyr)
library(ggplot2)
data %>%
    pivot_longer(cols = -year) %>%
    ggplot(aes(x = year, y = value, group = name, color = name)) + 
      geom_line()

在此處輸入圖像描述

數據

data <- structure(list(year = 1929:1933, female = c(0L, 2L, 0L, 20L, 
25L), male = c(50L, 70L, 400L, 40L, 120L), unknown = c(0L, 7L, 
1L, 15L, 0L)), class = "data.frame", row.names = c(NA, -5L))

暫無
暫無

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

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