Я считаю, что мой фреймворк в порядке, и мой код в порядке. Фактически, я удалил части фрейма данных и большую часть графического кода, чтобы сделать вещи максимально простыми. Но все же я получаю:
Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) :
invalid graphics state
Что здесь не так? Вот данные:
date trt var val
1/8/2008 cc sw5 0.2684138
1/8/2008 cc sw15 0.2897586
1/8/2008 cc sw5 0.2822414
2/8/2008 cc sw5 0.2494583
2/8/2008 cc sw5 0.2692917
2/8/2008 cc sw15 0.2619167
2/8/2008 cc sw5 0.204375
3/8/2008 cc sw5 0.2430625
3/8/2008 cc sw5 0.2654375
3/8/2008 cc sw5 0.2509583
3/8/2008 cc sw5 0.2055625
1/8/2008 ccw sw15 0.2212414
1/8/2008 ccw sw5 0.3613448
1/8/2008 ccw sw5 0.2607586
2/8/2008 ccw sw5 0.2087917
2/8/2008 ccw sw15 0.3390417
2/8/2008 ccw sw5 0.2436458
2/8/2008 ccw sw5 0.290875
3/8/2008 ccw sw5 0.20175
3/8/2008 ccw sw15 0.328875
3/8/2008 ccw sw5 0.2328958
3/8/2008 ccw sw5 0.2868958
Когда я работаю с этими данными, я указываю такие даты:
df<-df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE]
и вот я хочу сделать диаграмму рассеяния:
ggplot(data = df,aes(x = date,y = val)) +
geom_point(aes(group = trt))
ggplot2
установили изначально?Ответы:
Я столкнулся с этой же ошибкой и решил ее, запустив:
а затем снова запустить сюжет. Я думаю, что ранее с графическим устройством что-то пошло не так из-за экспорта графики, и оно не было сброшено. Это сработало для меня, и это проще, чем переустановка ggplot2.
источник
par(mfrow = c(..., ...))
раньше. Не знаю о других графических параметрах, но они могут вызвать эту проблему.Решение - просто переустановить
ggplot2
. Возможно, существует несовместимость между используемой вами версией R и установленной вами версиейggplot2
. Кроме того, что-то могло пойти не так при установкеggplot2
ранее, что вызвало проблему, которую вы видите.источник
dev.off()
у меня он не сработал, и это хороший второй вариант, чтобы попробовать переустановить ggplot2.dev.off()
сначала попробовать , это займет меньше времени, чем переустановка пакета. Это может быть вторым шагом, еслиdev.off()
не сработало.Я обнаружил, что это происходит, когда вы смешиваете диаграммы ggplot с диаграммами графиков в одном сеансе. Использование решения «dev.off», предложенного Полом, решает проблему.
источник
dev.off'
делает?Скорее всего, вам не нужно переустанавливать ggplot2
Решение: вернуться к сюжету, который ранее не работал. Возьмем для примера вывод консоли ниже. Поля рисунков (окно, в котором отображаются ваши графики) были слишком малы для отображения парных (MinusInner) графиков. Затем, когда я попытался сделать следующий qplot, R все еще зависал из-за предыдущей ошибки.
Я исправил первую ошибку, расширив окно графика и повторно запустив график пар (MinusInner). Тогда бэм, это сработало.
источник
Я решил эту проблему, очистив все графики в консоли, а затем убедившись, что область графика достаточно велика, чтобы вместить то, что я создавал.
источник
попробуйте получить графику с помощью
x11()
илиwin.graph()
и решить эту проблему.источник