[英]How to plot a histogram with different colors in R
我在一個 csv 文件中有一個大約 500 個整數值的數據集,每個值都在 50-89 之間。 我試圖在 R 中創建一個直方圖,其中代表值 50-65 的條形為青銅色、66-74 銀色和 75-89 金色。 到目前為止,我的腳本如下:
dat1 <- read.csv("test2.csv", header=F)$V1
hist(dat1, main="Distribution of Player Ratings", xlim = c(0,99), breaks=c(seq(40,99,5)))
test2.csv 的示例如下所示(非常簡單)
69,
68,
67,
65,
65,
62,
59,
59,
54,
現在我的圖表是:
為了滿足前面解釋的顏色准則,我必須做什么?
注意:我之前發布過這個問題,但沒有我的任何代碼或對我的數據集的引用。
在你之前的問題中,你提到了ggplot2
,所以這是一個ggplot2
解決方案:
首先模擬您的數據集:
set.seed(123)
df <- data.frame(X = sample(50:89, 500, replace = T))
添加一個定義顏色標准的新變量:
df$group = ifelse(df$X < 66, "50-65", ifelse(df$X < 75, "66-74", "75-89"))
現在,加載ggplot2
庫以創建直方圖
library(ggplot2)
ggplot(df, aes(X, fill = group)) + geom_histogram()
要提供自定義顏色,請使用scale_fill_manual
:
ggplot(df, aes(X, fill = group)) + geom_histogram() +
scale_fill_manual(values = c("50-65" = "#CD7F32",
"66-74" = "#C0C0C0",
"75-89" = "gold"))
這就是圖現在的樣子:
盡管您包含了xlim = c(0,99)
(在附圖中不可見),但我不知道您為什么要使用它。 如果您願意,可以使用+ xlim(0,99)
添加xlim
參數。
要了解有關ggplot2
更多信息,請查看此處。
注意:您可以在geom_histogram
定義 bin 的數量或geom_histogram
。 參考這個了解更多
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.