Как исправить в R: недопустимое состояние графики (решения 3)

Как исправить в 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. packages (" ggplot2 ")

Затем вы можете использовать следующий синтаксис для установки последней версии ggplot2:

#install ggplot2
install. packages (" ggplot2 ")

Затем вы можете снова запустить код, чтобы создать диаграмму рассеяния:

В большинстве случаев теперь мы сможем построить график без ошибок.

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные проблемы в R:

Как исправить в R: неверный факторный уровень, создано NA
Как исправить в R: plot.new еще не вызывался
Как исправить в R: не определено из-за особенностей

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.