19

我正在使用这个绘制图表

plot(dates,returns)

我想returns用百分比而不是数字表示。0.1会变成10%. 此外,y 轴上的数字向左倾斜 90 度。是否可以使它们水平显示?

4

3 回答 3

22

这是一种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)
于 2012-07-26T17:55:16.893 回答
10

如果你使用 ggplot 你可以使用scales包。

library(scales)
plot + scale_y_continuous(labels = percent)
于 2015-11-12T23:30:15.180 回答
1
library(scales)
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。

看

将两个答案结合在一起@rengis @vladiim

于 2016-07-22T22:21:41.797 回答