摘要:## '1-Sidebar'```{r}# page2的數據,直接借用page1的了library(ggplot2)library(ggthemes)mydata_Use_Time

作者:小橙子

來源:小橙子學數據分析

之前揚言要用R,製作一個DashBoard。結果給自己挖了個坑,看了好久的外文網站,依靠谷歌翻譯和僅留的英語基礎,總算完成了。

今天分享的是Rmarkdown中的flexdashboard,可以作爲數據產品原型開發的樣板。假如創業公司,不捨得花錢買BI工具,也可以

以Umeng的DashBoard作爲參考,利用flexdashboard製作了一個類似的。

首先查看下umeng的原圖:

再看下flexdashboard的效果圖:

與Umeng相比,缺乏美感(渲染不行)

小橙子製作的樣本,已經上傳至http://rpubs.com/CHENGZI/dashboard,有興趣的同學,可以實際點擊查看下

flexdashboard知識點(太多了,寫不完,推薦大家看其他人總結的)

https://bookdown.org/yihui/rmarkdown/dashboard-components.html#navigation-bar

https://zhuanlan.zhihu.com/p/41423522

https://rmarkdown.rstudio.com/flexdashboard/shiny.html#input_sidebar

小橙子的源碼如下:

--- title: "APP監控DashBoard" output: flexdashboard::flex_dashboard: orientation: rows vertical_layout: scroll theme: yeti source_code: embed ---

```{r setup, include=FALSE}library(flexdashboard)library(ggplot2)library(ggthemes)```

page 1===================================== ## Sidebar {.sidebar}[Page 1]

[Page 2]

## '1-Sidebar'### 新增用戶

```{r}valueBox(75, icon = "fa-user-plus",color = ifelse(75< 100, "warning", "primary"))```

### 活躍用戶

```{r}valueBox('1,000', icon = "fa-user-friends",color = "info")```

### 近7日總活躍用戶數

```{r}valueBox('3,000', icon = "fa-users",color = "#ffffff")```

### 近30日總活躍用戶數

```{r}valueBox('10,000', icon = "fa-users")```##整體趨勢2### 新用戶次日留存率(7日平均)

```{r}valueBox('75%', icon = "fa-hourglass-start")```### 使用時長(7日平均)

```{r}valueBox('00:60:20', icon = "fa-user-clock")```### 累計用戶數

```{r}valueBox("23,000", icon = "fa-users")```

### 總崩潰率

```{r}valueBox('0.01%', icon = "fa-bug")```

Row {.tabset data-width=350}-----------------------------------------------------------------------

### Newer

```{r}library(ggplot2)library(ggthemes)mydata <- data.frame( Date = as.character(seq.Date(from= as.Date("2019/01/01",format = "%Y/%m/%d"), by = "day", length.out = 31)),Newer = round(runif(31,min = 1, max = 100)))ggplot(data = mydata, aes(x = Date, y = Newer)) + geom_bar(stat = 'identity') +theme_economist() + theme(axis.text.x = element_text(angle = 90,size = rel(0.8)))

```

### Active

```{r}library(ggplot2)library(ggthemes)mydata_act <- data.frame( Date = as.character(seq.Date(from= as.Date("2019/01/01",format = "%Y/%m/%d"), by = "day", length.out = 31)), Activer = round(runif(31,min = 800, max = 1200)))ggplot(data = mydata_act, aes(x = Date, y = Activer, group = 1)) + geom_line(linetype = 3) +geom_point(size = 2,colour = "blue")+theme_economist() + theme(axis.text.x = element_text(angle = 90,size = rel(0.8)))```

### Avg_Time

```{r}library(ggplot2)library(ggthemes)mydata_Use_Time <- data.frame( Date = as.character(seq.Date(from= as.Date("2019/01/01",format = "%Y/%m/%d"), by = "day", length.out = 31)), Use_Time = round(runif(31,min = 50, max = 90)))ggplot(data = mydata_Use_Time, aes(x = Date, y = Use_Time, group = 1)) + geom_line(linetype = 3) +geom_point(size = 2,colour = "blue") +theme_economist() + theme(axis.text.x = element_text(angle = 90,size = rel(0.8))) + labs(y = "Use_Time(Minutes)")```

page 2===================================== ## Sidebar {.sidebar}[Page 1]

[Page 2]

## '1-Sidebar'```{r}# page2的數據,直接借用page1的了library(ggplot2)library(ggthemes)mydata_Use_Time <- data.frame( Date = as.character(seq.Date(from= as.Date("2019/01/01",format = "%Y/%m/%d"), by = "day", length.out = 31)), Use_Time = round(runif(31,min = 50, max = 90)))ggplot(data = mydata_Use_Time, aes(x = Date, y = Use_Time, group = 1)) + geom_line(linetype = 3) +geom_point(size = 2,colour = "blue") +theme_economist() + theme(axis.text.x = element_text(angle = 90,size = rel(0.8))) + labs(y = "Use_Time(Minutes)")```

——————————————

相關文章