Echarts4r:ツールチップの合計からのパーセンテージで積み上げ面グラフを作成します

iomedee

を使用して積み上げ面グラフを作成する必要がありecharts4rます。javascriptのすばらしい例にもかかわらず、Rを使用して面グラフを積み重ねる方法を見つけることができません。

理想的には、highcharterパッケージを使用した私の例のように、合計からのパーセンテージでツールチップをチャートに追加することも必要です。

library(echarts4r)
library(highcharter)

set.seed(2018)
dt <- data.frame(a =1:10,
                 x = rnorm(10, mean = 20, sd = 5), 
                 y = rnorm(10, mean = 20, sd = 5),
                 z = rnorm(10, mean = 10, sd = 5))


echarts <- dt %>%
  e_charts(a) %>%
  e_area(x, stack = "stack", origin = 'start') %>%
  e_area(y, stack = "stack", origin = 'start') %>%
  e_area(z, stack = "stack", origin = 'start') %>%
  e_grid(left = '4%', right = '3%', bottom = '10%', containLabel = true) %>%
  e_tooltip(trigger = "axis", axisPointer = list(type = 'cross')) %>%
  e_toolbox(left = 'right', itemSize = 15, top = 22) %>%
  e_toolbox_feature("saveAsImage", title = 'save as image') %>%
  e_toolbox_feature("dataZoom", title = list(zoom = "zoom", back = "back")) %>%
  e_toolbox_feature("restore", title = 'restore') %>%
  e_theme("infographic") %>%
  e_legend(type = 'scroll', bottom = 1)

echarts

highchart <-  highchart() %>%
  hc_xAxis(categories = dt$a) %>%
  hc_add_series(data = dt$x, name = 'x') %>%
  hc_add_series(data = dt$y, name = 'y') %>%
  hc_add_series(data = dt$z, name = 'z') %>%
  hc_chart(type = "area") %>%
  hc_plotOptions(area = list(stacking = "normal", lineColor = "#ffffff",
                             lineWidth = 1, marker = list( lineWidth = 1,
                                                           lineColor = "#ffffff"))) %>%
  hc_legend(reversed = FALSE) %>%
  hc_tooltip(crosshairs = TRUE, backgroundColor = "#FCFFC5", shared = TRUE, borderWidth = 5, 
             pointFormat = "<span style=\"color:{series.color}\">{series.name}</span>:
                 <b>{point.percentage:.1f}%</b> ({point.y:,.0f} users)<br/>") 

highchart
JohnCoene

それを行う1つの方法、非常によく似ていhighcharterます:

dt %>%
    e_charts(a) %>%
    e_area(x, stack = "stack", origin = 'start') %>%
    e_area(y, stack = "stack", origin = 'start') %>%
    e_area(z, stack = "stack", origin = 'start') %>%
    e_grid(left = '4%', right = '3%', bottom = '10%', containLabel = TRUE) %>%
    e_toolbox(left = 'right', itemSize = 15, top = 22) %>%
    e_toolbox_feature("saveAsImage", title = 'save as image') %>%
    e_toolbox_feature("dataZoom", title = list(zoom = "zoom", back = "back")) %>%
    e_toolbox_feature("restore", title = 'restore') %>%
    e_theme("infographic") %>%
    e_legend(type = 'scroll', bottom = 1) %>%
    e_tooltip( trigger ="axis",
              formatter = htmlwidgets::JS("
              function(params){
                var tot = params[0].name + params[1].value[0] + params[2].value[0]
                function perc(x){return(Math.round((x/tot) * 100))};
                return('x: ' + params[0].value[1] + ' (' + perc(params[0].value[1]) + '%)' + '<br>' + 'y:' + params[1].value[1] + ' (' + perc(params[1].value[1]) + '%)' + '<br>' + 'z:' + params[2].value[1] + ' (' + perc(params[2].value[1]) + '%)')
                                          }
              ")
              )

Webサイトのツールチップの詳細

編集コメントありがとうございます。質問の一部を省略して申し訳ありません。なんらかの理由で、私が気付いていなかった理由として、スタッキングはカテゴリカルx軸でのみ機能します。以下は、そこに到達するための2つのオプションです。

# options one use character or vector.
dt %>% 
    dplyr::mutate(a = as.character(a)) %>% 
    e_charts(a) %>%
    e_area(x, stack = "stack") %>%
    e_area(y, stack = "stack") %>%
    e_area(z, stack = "stack") %>%
    e_grid(left = '4%', right = '3%', bottom = '10%') %>%
    e_toolbox(left = 'right', itemSize = 15, top = 22) %>%
    e_toolbox_feature("saveAsImage", title = 'save as image') %>%
    e_toolbox_feature("restore", title = 'restore') %>%
    e_theme("infographic") %>%
    e_legend(bottom = 1) %>%
    e_tooltip( trigger ="axis",
               formatter = htmlwidgets::JS("
                                           function(params){
                                           var tot = params[0].name + params[1].value[0] + params[2].value[0]
                                           function perc(x){return(Math.round((x/tot) * 100))};
                                           return('x: ' + params[0].value[1] + ' (' + perc(params[0].value[1]) + '%)' + '<br>' + 'y:' + params[1].value[1] + ' (' + perc(params[1].value[1]) + '%)' + '<br>' + 'z:' + params[2].value[1] + ' (' + perc(params[2].value[1]) + '%)')
                                           }
                                           ")
               ) 

# option 2
# Use e_x_axis to change the axis type
dt %>% 
    e_charts(a) %>%
    e_area(x, stack = "stack") %>%
    e_area(y, stack = "stack") %>%
    e_area(z, stack = "stack") %>%
    e_grid(left = '4%', right = '3%', bottom = '10%') %>%
    e_toolbox(left = 'right', itemSize = 15, top = 22) %>%
    e_toolbox_feature("saveAsImage", title = 'save as image') %>%
    e_toolbox_feature("restore", title = 'restore') %>%
    e_theme("infographic") %>%
    e_legend(bottom = 1) %>%
    e_tooltip( trigger ="axis",
               formatter = htmlwidgets::JS("
                                           function(params){
                                           var tot = params[0].name + params[1].value[0] + params[2].value[0]
                                           function perc(x){return(Math.round((x/tot) * 100))};
                                           return('x: ' + params[0].value[1] + ' (' + perc(params[0].value[1]) + '%)' + '<br>' + 'y:' + params[1].value[1] + ' (' + perc(params[1].value[1]) + '%)' + '<br>' + 'z:' + params[2].value[1] + ' (' + perc(params[2].value[1]) + '%)')
                                           }
                                           ")
               ) %>%
  e_x_axis(type = "category")

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

d3積み上げ面グラフのツールチップに選択されていないパスの値を表示しますか?

分類Dev

積み上げ棒グラフ。すべてのカテゴリの情報を使用して1つの統合ツールチップを作成します(Altair)

分類Dev

積み上げ棒のパーセンテージラベルを棒の合計で計算してプロットする方法は?

分類Dev

chart.jsの積み上げ棒グラフでパーセンテージと合計を表示

分類Dev

ggplotを使用してRで積み上げパーセンテージ棒グラフを作成する

分類Dev

グループ合計内の積み上げ棒グラフを作成します

分類Dev

度数積み上げ棒グラフを作成するにはどうすればよいですか。ただし、棒にパーセンテージラベルがあり、Rのy軸に度数があります。

分類Dev

DataFrame.plotを使用して、合計とパーセンテージを積み上げ棒グラフで表示します

分類Dev

積み上げ棒グラフのラベルとしてパーセンテージを使用するにはどうすればよいですか?

分類Dev

積み上げ棒グラフの棒ごとにパーセンテージを計算するには?

分類Dev

積み上げ棒グラフggplot2にパーセンテージラベルを追加します

分類Dev

バイナリ列の合計がggplotの積み上げ棒グラフのパーセンテージになります

分類Dev

バイナリ列の合計がggplotの積み上げ棒グラフのパーセンテージになります

分類Dev

グーグルの積み上げ棒グラフに複数のツールチップを表示する方法

分類Dev

パーセンテージを指定して、積み上げ棒グラフをプロットするにはどうすればよいですか?

分類Dev

パンダのデータフレームから積み上げ棒グラフをプロットする

分類Dev

groupbyを使用してパーセンテージ積み上げ棒グラフを作成する

分類Dev

ドリルダウンオプション付きのAmチャートで積み上げ棒グラフを作成することはできますか?

分類Dev

積み上げ棒グラフのGoogleグラフにパーセンテージを表示する

分類Dev

剣道の積み上げ棒グラフの各タイルにツールチップを追加する

分類Dev

R:ggplot2の積み上げ棒グラフのデータを欠かさずにデータをパーセンテージに集計するにはどうすればよいですか?

分類Dev

積み上げ棒グラフの合計をマージ

分類Dev

ハイチャート:正と負の値を使用してExcelから積み上げ面グラフを再作成するのに問題がある

分類Dev

凡例のMarkerViewとIssuesを使用した積み上げ棒グラフのツールチップ

分類Dev

ツールチップに追加の変数を表示するecharts4r

分類Dev

積み上げ棒グラフggplot2の上にパーセンテージ値を整理する方法

分類Dev

dc.jsを使用して合計からパーセンテージを積み上げる

分類Dev

dc.jsを使用して合計からパーセンテージを積み上げる

分類Dev

echarts4r`e_pie`円グラフにカウントとパーセンテージを表示する

Related 関連記事

  1. 1

    d3積み上げ面グラフのツールチップに選択されていないパスの値を表示しますか?

  2. 2

    積み上げ棒グラフ。すべてのカテゴリの情報を使用して1つの統合ツールチップを作成します(Altair)

  3. 3

    積み上げ棒のパーセンテージラベルを棒の合計で計算してプロットする方法は?

  4. 4

    chart.jsの積み上げ棒グラフでパーセンテージと合計を表示

  5. 5

    ggplotを使用してRで積み上げパーセンテージ棒グラフを作成する

  6. 6

    グループ合計内の積み上げ棒グラフを作成します

  7. 7

    度数積み上げ棒グラフを作成するにはどうすればよいですか。ただし、棒にパーセンテージラベルがあり、Rのy軸に度数があります。

  8. 8

    DataFrame.plotを使用して、合計とパーセンテージを積み上げ棒グラフで表示します

  9. 9

    積み上げ棒グラフのラベルとしてパーセンテージを使用するにはどうすればよいですか?

  10. 10

    積み上げ棒グラフの棒ごとにパーセンテージを計算するには?

  11. 11

    積み上げ棒グラフggplot2にパーセンテージラベルを追加します

  12. 12

    バイナリ列の合計がggplotの積み上げ棒グラフのパーセンテージになります

  13. 13

    バイナリ列の合計がggplotの積み上げ棒グラフのパーセンテージになります

  14. 14

    グーグルの積み上げ棒グラフに複数のツールチップを表示する方法

  15. 15

    パーセンテージを指定して、積み上げ棒グラフをプロットするにはどうすればよいですか?

  16. 16

    パンダのデータフレームから積み上げ棒グラフをプロットする

  17. 17

    groupbyを使用してパーセンテージ積み上げ棒グラフを作成する

  18. 18

    ドリルダウンオプション付きのAmチャートで積み上げ棒グラフを作成することはできますか?

  19. 19

    積み上げ棒グラフのGoogleグラフにパーセンテージを表示する

  20. 20

    剣道の積み上げ棒グラフの各タイルにツールチップを追加する

  21. 21

    R:ggplot2の積み上げ棒グラフのデータを欠かさずにデータをパーセンテージに集計するにはどうすればよいですか?

  22. 22

    積み上げ棒グラフの合計をマージ

  23. 23

    ハイチャート:正と負の値を使用してExcelから積み上げ面グラフを再作成するのに問題がある

  24. 24

    凡例のMarkerViewとIssuesを使用した積み上げ棒グラフのツールチップ

  25. 25

    ツールチップに追加の変数を表示するecharts4r

  26. 26

    積み上げ棒グラフggplot2の上にパーセンテージ値を整理する方法

  27. 27

    dc.jsを使用して合計からパーセンテージを積み上げる

  28. 28

    dc.jsを使用して合計からパーセンテージを積み上げる

  29. 29

    echarts4r`e_pie`円グラフにカウントとパーセンテージを表示する

ホットタグ

アーカイブ