如何使用 Rstudio flexdashboard 创建饼图?

How to create a pie chart with Rstudio flexdashboard?

我是 Rstudio 的新手,我想弄清楚如何使用 "flexdashboard"

创建仪表板

这是我的数据集

```    Country       Refugees   
    1 Belgium         508645
    2 France         2874490
    3 Germany       10893516
    4 Ireland         142555
    5 Italy           538407
    6 Netherlands    1900518
    7 Portugal          7918
    8 Spain            89946
    9 United Kingdom 3766855

enter image description here

我正在尝试创建饼图,这是我输入的内容,但它不起作用。在尝试了很多变化之后,我一直不知道如何让它工作。

```{r message=FALSE, warning=FALSE, include=FALSE}

library(flexdashboard)
library(plotly)

totalref <- read.csv("F:/HU/ANLY 512/Dashboarding Lab/total.xls", header = TRUE)

plot_ly(totalref, labels= ~totalref$Country, values= ~totalref$Total, type= 'pie')
 layout (title='Persons of Concern in 9 European Countries',
    xaxis = list(showgrid=FALSE, zeroline=FALSE, showticklabels=FALSE),
    yaxis = list(showgrid=FALSE, zeroline=FALSE, showticklabels=FALSE))

```

我想我可能走错了路所以任何建议都将不胜感激。

这是我的评论:

  • plot_ly() 调用中删除 totalref$ 并直接使用列名。
  • 您的示例数据中没有 Total 列,也许您想使用的是 Refugees?
  • 如果您使用include=FALSE,代码块将被评估,但代码及其输出都不会显示。因此,如果您希望不显示代码但显示情节,请将其删除并替换为 echo=FALSE
  • layout() 函数的第一个参数是绘图本身,因此您的代码中似乎缺少管道运算符 %>%

使用您提供的示例数据,此行:

totalref <- read.table(header = T, text = 
"Country        Refugees   
'Belgium'         508645
'France'         2874490
'Germany'       10893516
'Ireland'         142555
'Italy'           538407
'Netherlands'    1900518
'Portugal'          7918
'Spain'            89946
'United Kingdom' 3766855")

plot_ly(totalref, labels = ~ Country, values = ~ Refugees, type = 'pie',
        textposition = 'inside', textinfo = 'label+percent') %>%
    layout (title='Persons of Concern in 9 European Countries',
            showlegend = TRUE)

对我来说很好用。它给出以下结果:

  • textposition = 'inside', textinfo = 'label+percent':显示图表内的标签和百分比;
  • showlegend = TRUE 显示图例。