亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

懸停散點圖時顯示變量名稱

懸停散點圖時顯示變量名稱

holdtom 2022-12-29 15:20:55
{echarts4r}這是來自GitHub 上這個答案的情節:library(echarts4r)library(tibble)mtcars %>%  rownames_to_column("model") %>%    e_charts(mpg) %>%  e_y_axis(drat) %>%  e_scatter(drat, symbol_size = 15, bind = model, scale = NULL) %>%  e_tooltip(formatter = htmlwidgets::JS("              function(params){                return('<strong>' + params.name +                '</strong><br />x-axis: ' + params.value[0] +                  '<br />y-axis: ' + params.value[1]                )}               "))如您所見,將鼠標懸停在一個點上時會顯示汽車型號的名稱和值。但是,我不知道如何以相同的方式顯示變量名。我知道我可以用它們的名稱手動替換“x 軸”和“y 軸”,但我想自動執行。我檢查了關于這個的 echarts 的文檔,但是使用{a}(例如)不起作用。任何的想法?編輯:我用echarts4r 0.3.3
查看完整描述

3 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

您要求的東西不存在于為 e_tooltip 傳遞的參數中。您可以通過傳遞params到console.log并在瀏覽器中檢查此日志來訪問它們:


mtcars %>%

  rownames_to_column("model") %>%  

  e_charts(mpg) %>%

  e_y_axis(drat) %>%

  e_scatter(drat, symbol_size = 15, bind = model, scale = NULL) %>%

  e_tooltip(formatter = htmlwidgets::JS("

              function(params){

              var obj_str = JSON.stringify(params);

              console.log(obj_str);

                return('<strong>' + params.name +  

              '</strong><br />' + params.seriesName + ': ' + params.value[0] +  

                '<br />mpg: ' + params.value[1]

                )} 

              "))

您會注意到 x 軸名稱在下方params.seriesName,但未找到 y 軸名稱。


這是您檢查console.logfor時會發現的示例params:


{"componentType":"series",

  "componentSubType":"scatter",

  "componentIndex":0,

  "seriesType":"scatter",

  "seriesIndex":0,

  "seriesId":"\u0000drat\u00000",

  "seriesName":"drat",

  "name":"Ford Pantera L",

  "dataIndex":9,

  "data":{"value":[15.8,4.22],

  "name":"Ford Pantera L"},

  "value":[15.8,4.22],

  "color":"#c23531",

  "dimensionNames":["x","y"],

  "encode":{"x":[0],"y":[1]},

  "marker":"<span style=\"display:inline-block;

            margin-right:5px;

            border-radius:10px;

            width:10px;height:10px;

            background-color:#c23531;\"></span>",

  "$vars":["seriesName","name","value"]

}

在這種情況下,paste0下面@Edo 的做法似乎很合理。


查看完整回答
反對 回復 2022-12-29
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

我試圖了解我是否在做你可能真正需要的東西......我想你想要靈活名稱的原因是讓它有一個單獨的功能,以便在你需要時給你打電話......


那么這個怎么樣?它使用一種變通方法來避免名稱(在您將字符串而不是未加引號的名稱傳遞給函數的意義上)。但是,如果您需要使用名稱,我們可以嘗試其他方法。


library(echarts4r)

library(tibble)



plot_escatter <- function(df, x_axis, y_axis, bind){

    

    df %>%

        e_charts_ (x_axis) %>%

        e_y_axis_ (y_axis) %>%

        e_scatter_(y_axis, symbol_size = 15, bind = bind, scale = NULL) %>%

        e_tooltip(formatter = htmlwidgets::JS(paste0("

              function(params){

                return('<strong>' + params.name + '</strong><br />", x_axis, ": ' + params.value[0] +  

                '<br />", y_axis, ": ' + params.value[1]

                )} 

              ")))

    

}



mtcars %>% 

    rownames_to_column("model") %>%  

    plot_escatter("mpg", "drat", "model")


查看完整回答
反對 回復 2022-12-29
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

請找到下面的代碼:


您需要使用params.seriesName來訪問列名


    mtcars %>%   

  tibble::rownames_to_column("model") %>%  

  e_charts(wt) %>%  

  e_scatter(mpg, qsec, bind = model, scale = NULL) %>% 

  e_tooltip(formatter = htmlwidgets::JS(" 

    function(params){ 

      return('<strong>' + params.seriesName + 

              '</strong><br />wt: ' + params.value[0] +  

              '<br />mpg: ' + params.value[1] + '<br> qsec:' + params.value[2]   

              )} 

        ")) 


查看完整回答
反對 回復 2022-12-29
  • 3 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號