How to use italics for faces in ggplot2?

I am trying to use italics for facet names in ggplot2. I first order and rename faces. I came across a potential solution, but this requires labeller=label_parsed , and I use labeller=name_labeller to rename my faces.

In the following example, I would like the facet names โ€œone,โ€ โ€œtwo,โ€ โ€œthree,โ€ โ€œfour,โ€ and โ€œfiveโ€ to be in italics. Here is an example dataframe:

 structure(list(Names = c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L), Other = c(5L, 3L, 2L, 6L, 5L, 4L, 5L, 4L, 5L, 3L, 2L, 6L, 5L, 4L, 5L, 4L, 4L, 5L, 3L, 2L), X = c(0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L), Y = c(0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L, 0L, 10L)), .Names = c("Names", "Other", "X", "Y"), class = "data.frame", row.names = c(NA, -20L)) 

and the code to create the chart is

 library(ggplot2) library(grid) vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y) facets <- c("1", "2", "3", "4", "5") names <- list( '1'="one", '2'="two", '3'="three", '4'="four", '5'="five" ) name_labeller <- function(variable,value){ return(names[value]) } ggplot(FacetTestData[FacetTestData$Names %in% facets,], aes(y = Y, x = X, group = Names)) + geom_point(shape = 21, size=3) + scale_fill_manual(values=c("gray90","gray40")) + geom_smooth(method="lm", se= FALSE, size = 1) + scale_color_manual(values=c("black","black")) + geom_smooth(method = 'lm', size = 1, colour = 'red', se = FALSE) + facet_grid(Names ~ ., labeller=name_labeller) 

The following code will appear, which will give italic attributes to the names list

 levels(names) <- c("italic('one')", "italic('two')", "italic('three')", "italic('four')", "italic('five')") 

but I can't figure out how to make this work with facet_grid() . Does anyone know how I can do this?

+3
r ggplot2
source share
1 answer

Something in this direction should work:

 ... + theme(strip.text = element_text(face = "italic")) 

For more on theme() see docs .

+9
source share

All Articles