Я пытаюсь создать график, в котором одна или обе оси имеют логарифмическую шкалу, а текст оси отформатирован в экспоненциальной записи, например, 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
- прокомментируйте, что строка и текст оси отображаются, хотя и не в нужном формате:
Раскомментируйте эту строку и текст исчезнет:
Это происходит для scale_x_log10
и scale_y_log10
. Две вещи заставляют меня думать, что что-то изменилось в scales
, но я не могу понять, что это такое: 1) эта проблема возникает при попытке воспроизвести пример (рисунок 8-27), приведенный в книге Чанга, и 2) проблема возникает при использовании ранее успешных сценариев.