首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何删除/更改plot_ly饼图中值中的分隔符?

如何删除/更改plot_ly饼图中值中的分隔符?
EN

Stack Overflow用户
提问于 2020-10-15 18:57:40
回答 2查看 682关注 0票数 0

几周前我也问过同样的问题,但是我仍然不能解决我的问题,所以我会非常感谢你的帮助。我的数据框架中只有两个值(称为“填充”),它们是在没有任何分隔符如图所示的情况下保存的。我想用这些数据准备一个饼形图。但我在图表上显示值时遇到了问题,因为它们是用",“作为数千分隔符显示的。这是我的密码:

代码语言:javascript
代码运行次数:0
运行
复制
        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")

我上传了一张照片,显示了我的问题:以逗号作为分隔符的值。。我想改变这一点,使数千分隔符是一个空格和数字显示没有逗号。我试过两种方法,但这两种方法都不起作用。以下是我的尝试:

代码语言:javascript
代码运行次数:0
运行
复制
# 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 = ' ')

第一种方法根本不起作用,即在添加逗号函数之后,什么都不会发生,我得到的结果与没有这个片段(数字仍然用逗号显示)相同。第二种方法是以空格作为分隔符显示百分比值,但仍有逗号的男女人数。你知道我应该如何用空格作为分隔符来显示数字值吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-15 19:46:56

使用texttemplate可以实现如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
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

票数 0
EN

Stack Overflow用户

发布于 2020-10-15 19:51:16

只需在separators中定义layout参数

分隔符父:布局类型: string设置十进制分隔符和千分隔符。例如,“。”放一个'.‘在小数和数千之间的空格之间。在英语语言环境中,dflt是".“,但其他语言环境可能会更改此默认设置。

代码语言:javascript
代码运行次数:0
运行
复制
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 = '. ')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64378078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档