几周前我也问过同样的问题,但是我仍然不能解决我的问题,所以我会非常感谢你的帮助。我的数据框架中只有两个值(称为“填充”),它们是在没有任何分隔符如图所示的情况下保存的。我想用这些数据准备一个饼形图。但我在图表上显示值时遇到了问题,因为它们是用",“作为数千分隔符显示的。这是我的密码:
labels = c('Women', 'Men')
values = c(population[1,1], population[1,2])
numberOfAdult <- plot_ly(type='pie', labels=labels, values=values,
textinfo='percent+value',
insidetextorientation='radial')
numberOfAdult <- numberOfAdult %>% layout(title = "Population by sex")
我上传了一张照片,显示了我的问题:以逗号作为分隔符的值。。我想改变这一点,使数千分隔符是一个空格和数字显示没有逗号。我试过两种方法,但这两种方法都不起作用。以下是我的尝试:
# First way
labels = c('Women', 'Men')
values = c(comma(population[1,1], format = "d", big.mark = " "),
population[1,2])
numberOfAdult <- plot_ly(type='pie', labels=labels, values=values,
textinfo='percent+value',
insidetextorientation='radial')
numberOfAdult <- numberOfAdult %>% layout(title = "Population by sex")
# Second way
labels = c('Women', 'Men')
values = c(population[1,1], population[1,2])
numberOfAdult <- plot_ly(type='pie', labels=labels, values=values,
textinfo='percent+value',
insidetextorientation='radial')
numberOfAdult <- numberOfAdult %>% layout(title = "Population by sex",
separators = ' ')
第一种方法根本不起作用,即在添加逗号函数之后,什么都不会发生,我得到的结果与没有这个片段(数字仍然用逗号显示)相同。第二种方法是以空格作为分隔符显示百分比值,但仍有逗号的男女人数。你知道我应该如何用空格作为分隔符来显示数字值吗?
发布于 2020-10-15 11:46:56
使用texttemplate
可以实现如下所示:
library(plotly)
library(scales)
labels = c('Women', 'Men')
values = c(population$population[1:2])
numberOfAdult <- plot_ly(type='pie', labels=labels, values=values,
textinfo='percent+value',
texttemplate = paste0(number(values, big.mark = " "), "<br>%{percent}"),
insidetextorientation='radial')
numberOfAdult <- numberOfAdult %>% layout(title = "Population by sex")
numberOfAdult
发布于 2020-10-15 11:51:16
只需在separators
中定义layout
参数
分隔符父:布局类型: string设置十进制分隔符和千分隔符。例如,“。”放一个'.‘在小数和数千之间的空格之间。在英语语言环境中,dflt是".“,但其他语言环境可能会更改此默认设置。
labels = c('Women', 'Men')
values = c(17383905,14649394)
numberOfAdult <- plot_ly(type='pie', labels=labels, values=values,
textinfo='percent+value',
insidetextorientation='radial')
numberOfAdult <- numberOfAdult %>%
layout(title = "Population by sex", separators = '. ')
https://stackoverflow.com/questions/64378078
复制相似问题