簡體   English   中英

在雷達圖中編輯 R plotly 軸標簽

[英]Editing R plotly axis labels in radar chart

我正在嘗試編輯plotly雷達圖的軸。 以下代碼生成此 plot 現在我想在水平軸上添加一個百分號,這樣它就可以顯示“0% 1% 2% 3% 4% 5%”,而不僅僅是數字? 我該如何做到這一點? 不幸的是,我並沒有真正理解有關更改 x 軸的文檔

fig <- plot_ly(
  type = "scatterpolar",
  fill = "toself",
  mode = "lines+markers"
)
for (i in 1:3) {
  d1 <- d %>% filter(Region %in% regions[i])
  fig <- fig %>%
    add_trace(
      r = d1 %>% slice(1:3, 1) %>% pull(Wachstum),
      theta = d1 %>% slice(1:3, 1) %>% pull(Bezeichnung),
      name = d1 %>% slice(1) %>% pull(Region),
      hovertemplate = paste0(
        "%{fullData.name}<br>",
        "%{theta}<br>",
        "Wachstum: %{r:.3} %",
        "<extra></extra>"
      )
    )
}
fig

在相關說明中,在以下情況下我將如何編輯軸:我想將水平軸上的“M”更改為“Mio”。 所以它說“0 0.2Mio。0.4Mio。” 等等?

fig <- plot_ly(
  type = "scatterpolar",
  fill = "toself",
  mode = "lines+markers"
)
for (i in 1:3) {
  d1 <- d %>% filter(Region %in% regions[i])
  fig <- fig %>%
    add_trace(
      r = d1 %>% slice(1:3, 1) %>% pull(Wert),
      theta = d1 %>% slice(1:3, 1) %>% pull(Bezeichnung),
      name = d1 %>% slice(1) %>% pull(Region),
      hovertemplate = paste0(
        "%{fullData.name}<br>",
        "%{theta}<br>",
        "Wert: %{r:}",
        "<extra></extra>"
      )
    )
}
fig

我的數據:

library(tidyverse)
library(plotly)
d <- structure(
  list(
    Region = c("A", "A", "A", "B", "B", "B", "C",
               "C", "C"),
    Bezeichnung = c(
      "Agriculture",
      "Industry",
      "Services",
      "Agriculture",
      "Industry",
      "Services",
      "Agriculture",
      "Industry",
      "Services"
    ),
    Diff = c(9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L),
    Wachstum = c(5,
                 3, 3, 5, 4, 4, 3, 3, 4),
    Wert = c(
      1322956.10582307,
      1362979.06356215,
      352138.918156773,
      340230.355633795,
      83354.3466503918,
      1476435.89480847,
      1321136.99315399,
      388579.265012443,
      715511.4116247
    )
  ),
  class = c("tbl_df",
            "tbl", "data.frame"),
  row.names = c(NA,-9L)
)
regions <- c("A", "B", "C")

非常感謝!

對於您問題的第一部分,要將徑向軸顯示為百分比(我認為您要問的是),您必須使用layout.polar.radialaxis.ticksuffix

fig %>% layout(polar = list(
  radialaxis = list(ticksuffix = '%'))) 

在此處輸入圖像描述

要將縮寫形式從M代表 Millions 更改為Mio代表 Millionen,您有幾個選擇。 我嘗試的第一件事是將語言環境設置為德國,但這沒有用。 (它仍然是M 。)

您可以設置后綴,但 0 將是0io ,這沒有意義。 最后,我特別指定了您看到的所有值以及它們所代表的含義。

我最初使用seq ,但它不使用尾隨零; 我不喜歡結果。

fig %>% layout(polar = list(radialaxis = list(
  tickmode = "array",
  tickvals = seq(0, 1400000, by = 200000),
  ticktext = paste0(seq(0, 1.4, by = .2), "Mio")
)))

在此處輸入圖像描述

fig %>% layout(polar = list(radialaxis = list(
  tickmode = "array",
  tickvals = c(0, 200000, 400000, 600000, 800000, 1000000, 1200000, 1400000),
  ticktext = c("0", "0.2Mio", "0.4Mio", "0.6Mio", "0.8Mio", "1.0Mio", "1.2Mio", "1.4Mio")
)))

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM