मैं ggplot2 पैकेज के geom_bar
में भरने के क्षेत्र के विषय में एक प्रश्न है geom_bar।आदेश और 2 अलग चर के साथ भरने के ggplot2 आर
मैं एक चर (अगले उदाहरण चर var_fill
कहा जाता है) के साथ मेरी geom_bar को भरने के लिए लेकिन एक और चर के साथ geom_plot
(बुलाया clarity
उदाहरण में) आदेश चाहते हैं।
मैं यह कैसे कर सकता हूं?
बहुत बहुत धन्यवाद!
उदाहरण:
rm(list=ls())
set.seed(1)
library(dplyr)
data_ex <- diamonds %>%
group_by(cut, clarity) %>%
summarise(count = n()) %>%
ungroup() %>%
mutate(var_fill= LETTERS[sample.int(3, 40, replace = TRUE)])
head(data_ex)
# A tibble: 6 x 4
cut clarity count var_fill
<ord> <ord> <int> <chr>
1 Fair I1 210 A
2 Fair SI2 466 B
3 Fair SI1 408 B
4 Fair VS2 261 C
5 Fair VS1 170 A
6 Fair VVS2 69 C
मैं बक्से के इस आदेश [स्पष्टता] चाहते हैं: बक्से के इस भरने (रंग) [var_fill] के साथ
library(ggplot2)
ggplot(data_ex) +
geom_bar(aes(x = cut, y = count, fill=clarity),stat = "identity", position = "fill", color="black")
:
ggplot(data_ex) +
geom_bar(aes(x = cut, y = count, fill=var_fill),stat = "identity", position = "fill", color="black")
EDIT1: जवाब missuse द्वारा पाया:
p1 <- ggplot(data_ex) + geom_bar(aes(x = cut, y = count, group = clarity, fill = var_fill), stat = "identity", position = "fill", color="black")+ ggtitle("var fill")
p2 <- ggplot(data_ex) + geom_bar(aes(x = cut, y = count, fill = clarity), stat = "identity", position = "fill", color = "black")+ ggtitle("clarity")
library(cowplot)
cowplot::plot_grid(p1, p2)
EDIT2: अब मैं missuse की मदद से ggmosaic विस्तार के साथ ऐसा करने की कोशिश की
rm(list=ls())
set.seed(1)
library(ggplot2)
library(dplyr)
library(ggmosaic)
data_ex <- diamonds %>%
group_by(cut, clarity) %>%
summarise(count = n()) %>%
ungroup() %>%
mutate(residu= runif(nrow(.), min=-4.5, max=5)) %>%
mutate(residu_classe = case_when(residu < -4~"< -4 (p<0.001)",(residu >= -4 & residu < -2)~"[-4;-2[ (p<0.05)",(residu >= -2 & residu < 2)~"[-2;2[ non significatif",(residu >= 2 & residu < 4)~"[2;4[ (p<0.05)",residu >= 4~">= 4 (p<0.001)")) %>%
mutate(residu_color = case_when(residu < -4~"#D04864",(residu >= -4 & residu < -2)~"#E495A5",(residu >= -2 & residu < 2)~"#CCCCCC",(residu >= 2 & residu < 4)~"#9DA8E2",residu >= 4~"#4A6FE3"))
ggplot(data_ex) +
geom_mosaic(aes(weight= count, x=product(clarity, cut)), fill = data_ex$residu_color, na.rm=T)+
scale_y_productlist() +
theme_classic() +
theme(axis.ticks=element_blank(), axis.line=element_blank())+
labs(x = "cut",y="clarity")
लेकिन मैं साजिश के दाईं ओर (नीचे) इस कथा को जोड़ना चाहते हैं, लेकिन मैं नहीं जानता कि कैसे मैं यह कर सकता है, क्योंकि भरण क्षेत्र के बाहर एईएस तो scale_fill_manual काम नहीं करता है ...
धन्यवाद, लेकिन मुझे लगता है कि आदेश या मूल्यह्रास हुआ हो जाएगा है? यह github – antuki
पर ggplot2 के वास्तविक संस्करण के साथ मेरे साथ काम नहीं करता है, dev_tools संस्करण में यह हो सकता है लेकिन अगर आपको इसकी आवश्यकता हो तो आप वापस संस्करण भी जा सकते हैं (Google आपके संस्करण को वापस संस्करणों पर जाने पर है) – ike