Reputation: 24588
I'm doing a ggpairs plot, but the regression line is too thick and the 'Corr:' text font is too big.
data(mtcars)
head(mtcars)
mtcars$am <- as.factor(mtcars$am)
g <- ggpairs(
data = mtcars,
lower = list(
continuous = wrap("smooth", alpha = 0.3, color = "blue")
)
)
g <- g + theme(
axis.text = element_text(size = 6),
axis.title = element_text(size = 6),
legend.background = element_rect(fill = "white"),
panel.grid.major = element_line(colour = NA),
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "grey95")
)
print(g, bottomHeightProportion = 0.5, leftWidthProportion = .5)
This is the output:
I can't find in the GGally documentation where I can set this.
Any pointers?
Upvotes: 5
Views: 3902
Reputation: 23101
Try this to increase the font size:
data(mtcars)
head(mtcars)
mtcars$am <- as.factor(mtcars$am)
library(ggplot2)
library(GGally)
lowerFn <- function(data, mapping, ...) {
p <- ggplot(data = data, mapping = mapping) +
geom_point(color = 'blue', alpha=0.3, size=4) +
geom_smooth(color = 'black', method='lm', size=1,...)
p
}
g <- ggpairs(
data = mtcars,
lower = list(
continuous = wrap(lowerFn) #wrap("smooth", alpha = 0.3, color = "blue", lwd=1)
),
upper = list(continuous = wrap("cor", size = 5))
)
g <- g + theme(
axis.text = element_text(size = 6),
axis.title = element_text(size = 6),
legend.background = element_rect(fill = "white"),
panel.grid.major = element_line(colour = NA),
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "grey95")
)
print(g, bottomHeightProportion = 0.5, leftWidthProportion = .5)
Upvotes: 4
Reputation: 43
@Chris Snow: use the upper
argument of ggpairs
function to wrap
the ggally_cor
function. size = 2
will address your question, however I also added color = "black"
in case you want to change the color also.
Courtesy: Change colors in ggpairs now that params is deprecated
The modified MWE is:
data(mtcars)
head(mtcars)
mtcars$am <- as.factor(mtcars$am)
g <- ggpairs(
data = mtcars,
lower = list(
continuous = wrap("smooth", alpha = 0.3, color = "blue")
),
upper = list(continuous = wrap(ggally_cor, size = 2, color = "black")))
g <- g + theme(
axis.text = element_text(size = 6),
axis.title = element_text(size = 6),
legend.background = element_rect(fill = "white"),
panel.grid.major = element_line(colour = NA),
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "grey95")
)
print(g, bottomHeightProportion = 0.5, leftWidthProportion = .5)
Upvotes: 1
Reputation: 23101
How about this?
lowerFn <- function(data, mapping, ...) {
p <- ggplot(data = data, mapping = mapping) +
geom_point(color = 'blue', alpha=0.3, size=4) +
geom_smooth(color = 'black', method='lm', size=1,...)
p
}
g <- ggpairs(
data = mtcars,
lower = list(
continuous = wrap(lowerFn)
)
)
g <- g + theme(
axis.text = element_text(size = 6),
axis.title = element_text(size = 6),
legend.background = element_rect(fill = "white"),
panel.grid.major = element_line(colour = NA),
panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "grey95")
)
print(g, bottomHeightProportion = 0.5, leftWidthProportion = .5)
Upvotes: 3