Как исправить в r: неверное состояние графики (3 решения)
Ошибка, с которой вы можете столкнуться в R:
Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)): invalid graphics state
Эта ошибка может возникнуть по трем причинам:
1. Вы создаете графики в базе R и ggplot2 во время одного сеанса.
2. Ваша версия ggplot2 несовместима с вашей версией R.
3. Ваши настройки графики не позволяют создавать новые графики.
В этом руководстве представлены три метода, которые можно использовать для устранения этой ошибки.
Как воспроизвести ошибку
Предположим, мы пытаемся создать облако точек, используя набор данных mtcars , встроенный в R:
library (ggplot2)
#attempt to create scatterplot
ggplot(mtcars, aes (x=mpg, y=hp)) +
geom_point()
Мы получаем сообщение об ошибке «Недопустимое состояние графики» , но причина неясна.
Следующие три метода показывают, как устранить эту ошибку.
Способ № 1. Исправьте ошибку с помощью dev.off().
Первый метод, который вы должны попробовать (и самый простой метод), — это просто использовать dev.off() для выключения текущего устройства трассировки.
dev. off ()
Затем вы можете снова запустить исходный код, чтобы создать облако точек.
Во многих случаях это может исправить ошибку, поскольку при этом удаляются все настройки графика, использованные для предыдущих графиков, которые могут мешать текущему графику.
Способ № 2. Исправьте ошибку, перезапустив RStudio.
Если предыдущий метод не сработал, попробуйте перезапустить сеанс RStudio.
Во многих случаях это также может исправить ошибку, поскольку при этом удаляются все предыдущие настройки графика, которые мешали текущему графику.
Способ № 3. Исправьте ошибку, переустановив ggplot2.
Если предыдущие два метода не сработали, возможно, вам придется удалить, а затем переустановить ggplot2.
Вы можете использовать следующий синтаксис для удаления текущей версии ggplot2:
#uninstall ggplot2
remove.remove. packages (" ggplot2 ")
Затем вы можете использовать следующий синтаксис для установки последней версии ggplot2:
#install ggplot2
install. packages (" ggplot2 ")
Затем вы можете запустить код еще раз, чтобы создать облако точек:
В большинстве случаев теперь мы сможем создать сюжет без каких-либо ошибок.
Дополнительные ресурсы
В следующих руководствах объясняется, как решить другие распространенные проблемы в R:
Как исправить в R: недопустимый уровень фактора, сгенерировано NA
Как исправить в R:plot.new еще не вызывался
Как исправить в R: не определено из-за особенностей