对饼图中的百分比进行四舍五入

Ste*_*bua 5 r

label=c("<25%","25 - 50%",">75%")
values=c(4,2,3)
df=data.frame(label,values)
plot_ly(df, labels = ~label, values = ~values,text=values,textposition="auto", type = 'pie') %>%layout(title = 'Percentage Effort time',showlegend=T,
     xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
     yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我会得到一个包含百分比和数字的饼图。如何获得四舍五入为整数而不是小数点的百分比?

饼形图

Fra*_*itt 5

您可以使用textinfo='text'隐藏百分比值并提供自定义格式的标签text

    text = ~paste(round((values / sum(values))*100, 0)),
    textinfo='text',
Run Code Online (Sandbox Code Playgroud)

完整示例:

library(magrittr)
library(plotly)

label=c("<25%","25 - 50%",">75%")
values=c(4,2,3)
df=data.frame(label,values)
plot_ly(df, 
        labels = ~label, 
        values = ~values,
        text = ~paste(round((values / sum(values))*100, 0)),
        #textinfo='none',
        #textinfo='label+value+percent',
        textinfo='text',
        textposition="auto", type = 'pie') %>% layout(title = 'Percentage Effort time', showlegend=T,
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)
        )
Run Code Online (Sandbox Code Playgroud)