Как установить диапазоны оси в ggplot2 при использовании шкалы журнала?
У меня есть временный ряд данных, где измерения являются целыми числами от 1e6 до 1e8: хиты веб-сайтов в месяц. Я хочу использовать ggplot2 для построения диаграмм с точками и строками, но сопоставление измерений с масштабом журнала. Что-то вроде этого:
qplot(month, hits, data=hits.per.month, log="y")
Когда я это делаю, ggplot, похоже, устанавливает масштаб от 1e6 до 1e8. Я хочу, чтобы он масштабировался от 0 до 1e8. Естественный способ сделать это, похоже, не влияет на выход:
qplot(month, hits, data=hits.per.month, log="y", ylim=c(0, 100000000))
Я могу получить изображение, которое я хочу, преобразуя хиты, прежде чем он достигнет qplot, но это изменит метки на оси:
qplot(month, log10(hits), data=hits.per.month, log="y", ylim=c(0, 8))
Я также пробовал различные комбинации с scale_y_log10
, но не повезло.
Итак, как установить диапазон оси Y при использовании шкалы журнала в ggplot2?
Ответы
Ответ 1
Большая часть ggplot2 просто понятна для меня, если вы не используете qplot
. Таким образом, вы не кодируете все в один вызов функции:
df <- data.frame(x = 1:10,
y = seq(1e6,1e8,length.out = 10))
ggplot(data = df,aes(x = x, y =y)) +
geom_point() +
scale_y_log10(limits = c(1,1e8))
![enter image description here]()
Я собираюсь предположить, что вы на самом деле не имели в виду минимальную ось y, равную 0, так как в логарифмическом масштабе, который, um, проблематичен.