簡體   English   中英

使用R中的ggplot2將多個直方圖繪制在一個中

[英]Plot multiple histograms in one using ggplot2 in R

我對R和ggplot2相當新,並且在同一直方圖中繪制多個變量時遇到一些麻煩。

我的數據已經分組,只需要繪制。 數據是按周計算的,我需要繪制每個類別(A,B,C和D)的數字。

Date          A    B    C    D
01-01-2011    11   0    11   1
08-01-2011    12   0    3    3
15-01-2011    9    0    2    6

我想將日期作為x軸,並根據通用y軸將計數繪制為不同的顏色。 我一次只能繪制其中一個類別,但我找不到像我這樣的例子。

這是我用來繪制一個類別的內容。 我很確定我需要使用position="dodge"來繪制多個,因為我不希望它被堆疊。

ggplot(df, aes(x=Date, y=A)) + geom_histogram(stat="identity") + 
labs(title = "Number in Category A") +
ylab("Number") + 
xlab("Date") +
theme(axis.text.x = element_text(angle = 90))

此外,這給了我一個直方圖,條形之間有空格。 有什么辦法可以刪除嗎? 我在繪制條形圖時嘗試使用spaces=0 ,但它似乎沒有用。

我讀過一些類似於我的先前問題,但數據格式不同,我無法調整它以適應我的數據。 這是我看到的一些幫助:

使用R中的multhist創建包含多個數據系列的直方圖

http://www.cookbook-r.com/Graphs/Plotting_distributions_%28ggplot2%29/

我也不太清楚箱寬是多少。 我認為這是數據應該如何間隔或分組,這不適用於我的問題,因為它已經分組。 如果我錯了,請告訴我。

任何幫助,將不勝感激。 提前致謝!

你真的沒有繪制直方圖,你只是繪制一個看起來像直方圖的條形圖。 我個人認為這是一個很好的理由:

library(ggplot2)
library(reshape2) # for melt()
melt_df <- melt(df)
head(melt_df) # so you can see it

ggplot(melt_df, aes(Date,value,fill=Date)) + 
 geom_bar() + 
 facet_wrap(~ variable)

在此輸入圖像描述

但是,我認為一般來說,隨着時間的推移變化更好地用折線圖表示:

ggplot(melt_df,aes(Date,value,group=variable,color=variable)) + geom_line() 

在此輸入圖像描述

暫無
暫無

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

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