Проблема с ошибкой в ​​ggplot: "Ошибка в grid.Call(" L_textBounds ", as.graphicsAnnot(x $label), x $x, x $y,..."

Я пытаюсь создать barpot в ggplot, в котором я указываю, какие ярлыки должны отображаться, принуждая некоторые из них быть строками нулевой длины, то есть как "". Однако я получаю сообщение об ошибке

Error in grid.Call("L_textBounds", as.graphicsAnnot(x$label), x$x, x$y,  
: Polygon edge not found (zero-width or zero-height?) 

при попытке сделать это.

В приведенном ниже коде будет воспроизведена ошибка.

Надеюсь, у кого-то есть объяснение, почему я не могу так поступать, как я.

library(ggplot2)

dataset<-matrix(ncol=3,nrow=12)
colnames(dataset)<-c("Score","Action","Bin")
dataset[1:9,1]<-c(1,2,3,-2,7,10,12,3,4)
dataset[1:9,2]<-rep(1,9)
dataset[10:12,1]<-c(-1,-2,-3)
dataset[10:12,2]<-rep(2,3)
dataset[1:12,3]<-as.character(cut(dataset[1:12,1:1],breaks=4))
myDataset<-as.data.frame(dataset)

chosenbreaks<-as.vector(unique(dataset[1:12,3]))
chosenlabels<-as.vector(c(chosenbreaks[1],"","",chosenbreaks[4]))

fullplot<-ggplot(myDataset, aes(Bin, fill=Action)) 
 + geom_bar(position="stack") 
 + opts(axis.text.x = theme_text(angle = 45,size=8)) 
 + scale_x_discrete("test",breaks=chosenbreaks,labels=chosenlabels)

fullplot

Спасибо заранее,

Christian

Ответ 1

Я обновил свои пакеты, перезапустил свою машину и внезапно сработал. Я не знаю, почему, но я рад, что он знает, что работает. Большое спасибо всем вкладчикам - это просто здорово!

Ответ 2

У меня была такая же проблема, на Mac. Мне пришлось удалить несколько дублированных шрифтов, которые у меня были, используя приложение Font Book. Дело в том, что дубликаты этих шрифтов уже были отключены (они вызвали проблему в NeoOffice год назад). Я не знаю, почему это сработало. (Заметьте, я удалил то, что, по моему мнению, было более старыми версиями этих шрифтов - Arial, Times и Palatino были некоторыми из них.) Возможно, это проливает некоторый свет на эту тему, но я не знаю, как это сделать.