при использовании theme () в ggplot появляется сообщение «Ошибка: можно объединять только элементы одного класса»

avatar
Joshua Culpepper
1 июля 2021 в 18:55
1080
0
1

Я строю простой график с помощью ggplot2. Обычно у меня нет проблем с ggplot. Но я сталкиваюсь с ошибкой, упомянутой в заголовке: «Ошибка: можно объединять только элементы одного класса»

Ниже приведен пример использования подмножества набора данных txhousing в R, который очень похож на набор данных, который я использую со столбцом chr (город в примере txhousing), а затем с несколькими столбцами num (продажи, объем, медиана и т. д. в примере с txhousing). Выдает ту же ошибку:

txsamp <- subset(txhousing, city %in%
                 c("Houston", "Fort Worth", "San Antonio", "Dallas", "Austin"))


txs_plt <- ggplot(txsamp, aes(x = sales, y = median))+
  geom_point(aes(color = city), size = 4)+
  xlab("Sales")+
  ylab("Median")+
  theme_classic()+
  theme(
    axis.title = element_text(size = 30),
    axis.ticks = element_text(size = 25))+
  scale_x_continuous(trans = "log10", labels = scientific)+
  scale_y_continuous(trans = "log10", labels = scientific)+
  scale_colour_viridis_d(name = "City", option = "plasma")

txs_plt

Я определил проблему с функцией theme(). Если вы закомментируете функцию theme(), она будет работать нормально. Я постоянно использую функцию theme() аналогичным образом, поэтому я не уверен, что происходит. Вопрос здесь оказался бесполезным, и мне трудно найти упоминание об ошибке в другом месте.

Я убедился, что моя версия R и пакет ggplot2 обновлены.

Есть предложения? Спасибо.

Источник
stefan
1 июля 2021 в 18:59
2

Попробуйте с axis.ticks = element_line(size = 25).

Joshua Culpepper
1 июля 2021 в 20:21
0

Это сработало @stefan. Я читал это как axis.text, а не axis.ticks. Теперь это имеет полный смысл. Я знал, что где-то опечатка. Спасибо за быстрый ответ.

Ответы (0)