Reading about plots for ordinal data I found
I find the legend redundant since a small frequency of 10, for instance, is always a small sqaure and a light square, and so on. Thus, I would like to create a plot with a legend like this (paint solution):
Code to recreate the plot
# DATA
importance <- rep(1:5, times = c(30, 42, 75, 93, 60))
often <- c(rep(1:5, times = c(15, 07, 04, 03, 01)), #n=30, importance 1
rep(1:5, times = c(10, 14, 12, 03, 03)), #n=42, importance 2
rep(1:5, times = c(12, 23, 20, 13, 07)), #n=75, importance 3
rep(1:5, times = c(16, 14, 20, 30, 13)), #n=93, importance 4
rep(1:5, times = c(12, 06, 11, 17, 14))) #n=60, importance 5
running.df <- data.frame(importance, often)
runningcounts.df <- as.data.frame(table(importance, often))
# PLOT
theme_nogrid <- function (base_size = 12, base_family = "") {
theme_bw(base_size = base_size, base_family = base_family) % replace%
theme(panel.grid = element_blank())
}
ggplot(runningcounts.df, aes(importance, often))
geom_point(aes(size = Freq, color = Freq, stat = "identity", position = "identity"), shape = 15)
scale_size_continuous(range = c(3,15))
scale_color_gradient(low = "white", high = "black")
theme_nogrid()
CodePudding user response:
You may try using guides
, adding guides(color = guide_legend(), size = guide_legend())
line to your code.
ggplot(runningcounts.df, aes(importance, often))
geom_point(aes(size = Freq, color = Freq, stat = "identity", position = "identity"), shape = 15)
scale_size_continuous(range = c(3,15))
scale_color_gradient(low = "white", high = "black")
guides(color = guide_legend(), size = guide_legend())
theme_nogrid()
CodePudding user response:
If you want a quick fix, this should work
# PLOT
theme_nogrid <- function (base_size = 12, base_family = "") {
theme_bw(base_size = base_size, base_family = base_family) % replace%
theme(panel.grid = element_blank())
}
ggplot(runningcounts.df, aes(importance, often))
geom_point(aes(size = Freq, color = Freq, stat = "identity", position = "identity"), shape = 15)
scale_size_continuous(range = c(3,15))
scale_color_gradient(low = "white", high = "black")
theme_nogrid()
guides( colour = guide_legend()) #added guides()