【发布时间】:2020-03-18 18:57:50
【问题描述】:
好吧,这有点让我发疯。希望我只是愚蠢,有人可以快速指出我正确的答案。我正在尝试将 y 轴格式化为百分比而不是数字。这是一个简单的例子......
library(officer)
library(mschart)
data = data.frame(x = c(1, 1, 2, 2, 3, 3),
y = c(.05, .05, .06, .06, .07, .07),
group = c("A", "B", "A", "B", "A", "B"))
output <- data %>%
ms_barchart(x = "x", y = "y", group = "group") %>%
chart_settings(dir = "vertical") %>%
chart_data_labels(show_val = TRUE, show_legend_key = FALSE, num_fmt = "0.00%") %>%
chart_labels(title = " ", xlab = " ", ylab = " ") %>%
chart_ax_y(display = TRUE, limit_min = 0, num_fmt = "0.00") %>%
chart_ax_x(major_tick_mark = "none")
doc <- read_pptx()
doc <- add_slide(doc, layout = "Title and Content", master = "Office Theme")
doc <- ph_with(doc, output, location = ph_location_fullsize())
print(doc, paste0(file.path(path.expand('~'),'Desktop'),"/num_fmt.pptx"))
上述代码不会产生错误,但格式不符合要求。
在 chart_ax_y 函数中使用 num_fmt = "0.00%" 会在尝试打印 pptx 文件时产生错误: sprintf(str_, id, cross_id) 中的错误:无效格式 '%" s';使用格式 %s 作为字符对象
在 chart_ax_y 函数中使用 num_fmt = "0.00\%\%" (这是 mschart 文档所说的)在尝试创建输出对象时会产生以下错误:错误:'\%' is an unrecognized escape在以 ""0.00\%" 开头的字符串中
请帮忙!
【问题讨论】:
-
我不熟悉这个包,但是 SO 上的 this example 使用了不同的格式,没有反斜杠。反斜杠可能是文档错误吗?不确定这会有所帮助,但希望如此。
-
天哪,非常感谢你!这样可行!看起来文档可能已经过时了。感谢您为我找到它!
-
酷。刚刚为您的评论添加了答案。希望没有其他人遇到它。稍后将在 Github 上提交问题 :)