[英]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.