Соотношение площадей по оси Y

Я рисую график, используя этот

plot(dates,returns)

Я хотел бы, чтобы returns выражалась как проценты, а не числа. 0.1 составит 10%. Кроме того, цифры по оси y отображаются наклонены на 90 градусов слева. Возможно ли, чтобы они отображались горизонтально?

Ответ 1

Вот один из способов использования las=TRUE чтобы повернуть метки по оси y и axis() для новой оси y с помощью отрегулированных меток.

dates <-  1:10
returns <- runif(10)

plot(dates, returns, yaxt="n")
axis(2, at=pretty(returns), lab=pretty(returns) * 100, las=TRUE)

Ответ 2

Если вы используете ggplot, вы можете использовать пакет весов.

library(scales)
plot + scale_y_continuous(labels = percent)

Ответ 3

dates <-  1:100
returns <- runif(100)
yticks_val <- pretty_breaks(n=5)(returns)
plot(dates, returns, yaxt="n")
axis(2, at=yticks_val, lab=percent(yticks_val))

Особенности:

  1. Не нужно явно добавлять "%",
  2. Вручную зафиксируйте количество y-тиков, чтобы они соответствовали дальнейшим графикам. Здесь я выбрал 5.

See

Объединение двух ответов вместе @rengis @vladiim