将图表中的数字格式化为百分比

时间:2011-10-21 10:23:12

标签: r

  

可能重复:
  How to format a number as percentage in R?

这一定是一个新手问题,但我如何将图表中的数字(比如PerformanceAnalytics中的PerformanceSummary)格式化为百分比?我使用的数据格式为0.04等。一切正常,除了我希望图表显示百分比。

提前致谢

编辑:

以下是我现在正在做的事情(出于简单原因使用标准数据):

library("PerformanceAnalytics")
data(managers)
charts.PerformanceSummary(managers)

我在google搜索提供自己的标签时把它放在这里。

2 个答案:

答案 0 :(得分:9)

除非我错过了什么,否则我认为这根本不是新手问题。

(免责声明:我认为这个答案不是特别优雅,而且图形很糟糕。但希望它可以作为模板,以便其他人可以改进并发布一些正确的代码。)

以下是在基本图形中执行此操作的一种方法:

  • 设置不带y轴的图,即使用yaxt="n"
  • 计算标签的位置,例如使用seq
  • 使用sprintfround将标签格式化为带有百分号的文字

一些代码:

set.seed(1)
x <- runif(10)
plot(x, type="h", yaxt="n")
yLabels <- seq(0.2, 0.8, 0.2)
axis(2, at=yLabels, labels=sprintf(round(100*yLabels), fmt="%2.2f%%"), las=1)

情节:

enter image description here

答案 1 :(得分:0)

简短的回答是'你不能'。

拿你的表现图表。这是一个很大的编程代码,由某人编写来做一个花哨的图表,并且在某些时候作者决定用小数值标记Y轴以显示它是什么 - 本月可能会触发管理人员的比例。

如果你想将其更改为百分比,那么在该代码中的某个位置需要更改它以将轴标签乘以100,在它们上面贴上“%”符号并绘制它们。

您可以这样做,因为R和该性能图表包是在允许您编辑其代码的许可下发布的。去这样做。你会学到东西。

图形实体没有像在Excel或SPSS中那样独立存在 - 你不能只是说“将所有的分数轴标签重新设置为百分比”。它只是不那样工作。