मैं ग्राफिक में सही किंवदंती सम्मिलित करना चाहता हूं। दूसरे शब्दों में, किंवदंती में एक लाल त्रिकोण और एक नीला वृत्त। नीचे मैंने एक मेगावाट दिखाया।

df1 <- data.frame(x = 1 : 10, y = rnorm(10))
df2 <- data.frame(x = 1 : 10, y = runif(10))

g <- ggplot()
g <- g + geom_point(aes(x = x, y = y, color = 'color1'), data = df1, shape = 19, size = 2)
g <- g + geom_point(aes(x = x, y = y, color = 'color2'), data = df2, shape = 17, size = 3)
g <- g + scale_colour_manual(breaks = c('color1', 'color2'), 
                             values = c('color1' = 'blue', 'color2' = 'red'))
g + theme_bw()
0
Wagner Jorge 18 अप्रैल 2020, 18:44

1 उत्तर

सबसे बढ़िया उत्तर

आपके उदाहरण में आकृतियों को मैप किए गए चर नहीं हैं, इसलिए गाइड रंग किंवदंती के साथ आकृति किंवदंती (क्योंकि यह मौजूद नहीं है) को मर्ज करने का प्रयास नहीं करता है। आप मैन्युअल पैमाने के साथ आकृतियों को निम्नानुसार मैप कर सकते हैं:

library(ggplot2)
df1 <- data.frame(x = 1 : 10, y = rnorm(10))
df2 <- data.frame(x = 1 : 10, y = runif(10))

g <- ggplot()
g <- g + geom_point(aes(x = x, y = y, color = 'color1', shape = "color1"), 
                    data = df1, size = 2)
g <- g + geom_point(aes(x = x, y = y, color = 'color2', shape = "color2"), 
                    data = df2, size = 3)
g <- g + scale_colour_manual(breaks = c('color1', 'color2'), 
                             values = c('color1' = 'blue', 'color2' = 'red'))
# We need to name the shape legend 'colour' so ggplot knows it belongs to the same legend
g + scale_shape_manual(values = c(19, 17), name = "colour")

2020-04-18 को reprex पैकेज द्वारा बनाया गया (v0.3.0)

वैकल्पिक रूप से, आप लेजेंड को रंग स्केल में ही संपादित कर सकते हैं:

library(ggplot2)
df1 <- data.frame(x = 1 : 10, y = rnorm(10))
df2 <- data.frame(x = 1 : 10, y = runif(10))

g <- ggplot()
g <- g + geom_point(aes(x = x, y = y, color = 'color1'), 
                    data = df1, shape = 19, size = 2)
g <- g + geom_point(aes(x = x, y = y, color = 'color2'), 
                    data = df2, shape = 17, size = 3)
g + scale_colour_manual(breaks = c('color1', 'color2'), 
                        values = c('color1' = 'blue', 'color2' = 'red'),
                        guide = guide_legend(override.aes = list(shape = c(19, 17))))

2020-04-18 को reprex पैकेज द्वारा बनाया गया (v0.3.0)

2
teunbrand 18 अप्रैल 2020, 16:08