Проблемы с ggsave () при использовании французских акцентов - PullRequest
0 голосов
/ 28 декабря 2018

Я хочу сохранить объект ggplot с Cramérs V в качестве имени легенды.Когда я запускаю функцию ggsave (), я получаю следующую ошибку:

Error in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y,  : 
Metric information not available for this family/device

Я получаю эту ошибку, только когда пишу слово Cramér с accent aigu, без акцента все отлично работает.

Вот небольшой пример, который выдает ошибку:

library(ggplot2)

df <- mtcars

barplot <- ggplot(df,aes(x=mpg,y=cyl,fill=disp))+
  scale_fill_gradient(name = expression(Cramérs ~ italic(V)))+
  geom_bar(stat='identity')

barplot

# save as cairo-png
ggsave(barplot, filename = "./plot.png",type="cairo",bg="transparent",dpi=300,unit="cm",width=40,height=20)

Как мне получить функцию ggsave для сохранения объекта с ударением в имени легенды?

1 Ответ

0 голосов
/ 28 декабря 2018

Сохраните это так:

     ggplot(mtcars,aes(x=mpg,y=cyl,fill=disp))+
      scale_fill_gradient(name = expression(Cramérs ~ italic(V)))+
      geom_bar(stat='identity')
      #guides(fill=guide_legend(title=expression(Cramérs ~ italic(V))))
  #add relevant preferences in the ggsave call. Key is to change type  
    ggsave(filename="myplot.png",last_plot(),type=cairo_ps())
...