Я строю простой график с помощью 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 обновлены.
Есть предложения? Спасибо.
Попробуйте с
axis.ticks = element_line(size = 25)
.Это сработало @stefan. Я читал это как axis.text, а не axis.ticks. Теперь это имеет полный смысл. Я знал, что где-то опечатка. Спасибо за быстрый ответ.