Как создать круговую диаграмму с помощью Rstudio flexdashboard? - PullRequest
0 голосов
/ 13 мая 2018

Я новичок в 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

введите описание изображения здесь

Я пытаюсь создать круговую диаграмму, и вот что я ввожу, но она не работает. Попробовав множество вариантов, я так и не понял, как заставить это работать.

```{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))

```

Я думаю, что я, вероятно, на неправильном пути, поэтому любые советы будут оценены.

1 Ответ

0 голосов
/ 13 мая 2018

Вот мои замечания:

  • сбросьте totalref$ в вызовах plot_ly() и используйте имена столбцов напрямую.
  • в ваших примерах данных нет столбца 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 отображает легенду.

enter image description here

...