Saya sedang mengerjakan aplikasi Shiny tempat saya merencanakan bagan Donat. Irisan tergantung pada variabel yang dipilih dan terkadang terlalu kecil. Dalam kasus seperti itu, label ditampilkan di luar bagan seperti pada gambar di bawah ini.

enter image description here

Apakah ada cara untuk sepenuhnya menyembunyikan semua label (nilai dengan tanda %) di bagan dan hanya mengizinkan tindakan mengarahkan kursor untuk menampilkan detailnya?

Kode yang dapat direproduksi untuk Bagan Donat adalah sebagai berikut:

library(plotly)
library(tidyr)
library(dplyr)
# Get Manufacturer
mtcars$manuf <- sapply(strsplit(rownames(mtcars), " "), "[[", 1)

p <- mtcars %>%
  group_by(manuf) %>%
  summarize(count = n()) %>%
  plot_ly(labels = ~manuf, values = ~count) %>%
  add_pie(hole = 0.6) %>%
  layout(title = "Donut charts using Plotly",  showlegend = F,
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))

p
1
krish 16 Maret 2017, 02:56

2 jawaban

Jawaban Terbaik

Anda dapat mengatur textinfo='none' untuk mendapatkan plot donat berikut yang tidak memiliki teks di elemen pai tetapi menunjukkan info tentang melayang.

enter image description here

2
Maximilian Peters 16 Maret 2017, 00:02

Anda dapat mengontrol apa yang ditampilkan dalam diagram lingkaran plotly menggunakan atribut textinfo dan hoverinfo. Salah satu solusi untuk masalah Anda adalah menyetel textinfo = "none" dan hoverinfo = "text" sambil menetapkan text = ~manuf seperti pada:

library(plotly)
library(tidyr)
library(dplyr)
# Get Manufacturer
mtcars$manuf <- sapply(strsplit(rownames(mtcars), " "), "[[", 1)

p <- mtcars %>%
  group_by(manuf) %>%
  summarize(count = n()) %>%
  plot_ly(text = ~manuf, values = ~count, textinfo = "none", hoverinfo = "text") %>%
  add_pie(hole = 0.6) %>%
  layout(title = "Donut charts using Plotly",  showlegend = F,
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))

p

Anda dapat menyesuaikan lebih lanjut teks yang ditampilkan saat mengarahkan kursor dengan menempelkan kombinasi string apa pun dengan pemisah <br>, mis .:

plot_ly(text = ~paste("Manuf.: ", manuf , "<br> Number: ", count) , values = ~count, textinfo = "none", hoverinfo = "text") %>%

enter image description here

1
Robert 16 Maret 2017, 09:01