Текст оси R ggplot2 исчезает в логарифмическом масштабе - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь создать график, в котором одна или обе оси имеют логарифмическую шкалу, а текст оси отформатирован в экспоненциальной записи, например, 10 ^ -2, но там, где "-2" является верхним индексом. Следуя примерам, приведенным в книге Уинстона Чанга и найденным в Интернете, я успешно делал это в прошлом. Однако, если я использую тот же код, который работал ранее, текст оси исчезает. Воспроизводимый пример:

library(tidyverse)
library(scales)

plot.dat <- tibble(
  time = seq(from = 0, to = 5, by = 0.2),
  C = exp(-2*time)
  )

ggplot(data = plot.dat, mapping = aes(x = time, y = C)) +
  geom_point() +
  scale_y_log10(
    breaks = trans_breaks('log10', function(x) 10^x),
    labels = trans_format('log10', math_format(10^.x))
    ) +
  theme(
    axis.text.y = element_text(colour = "red", size = rel(1.5))
  )

Примечание. Я добавил оператор темы только для того, чтобы убедиться, что цвет или размер текста по какой-то причине не изменился. Кажется, проблема связана со строкой labels в части scale_y_log10 - прокомментируйте, что строка и текст оси отображаются, хотя и не в нужном формате:
enter image description here Раскомментируйте эту строку и текст исчезнет:
enter image description here Это происходит для scale_x_log10 и scale_y_log10. Две вещи заставляют меня думать, что что-то изменилось в scales, но я не могу понять, что это такое: 1) эта проблема возникает при попытке воспроизвести пример (рисунок 8-27), приведенный в книге Чанга, и 2) проблема возникает при использовании ранее успешных сценариев.

...