2016-03-21 74 views
1

是否可以订购R中的图例条目?Plotly R订单图例条目

如果我例如指定一个这样的饼图:

plot_ly(df, labels = Product, values = Patients, type = "pie", 
      marker = list(colors = Color), textfont=list(color = "white")) %>% 
    layout(legend = list(x = 1, y = 0.5)) 

传说根据哪个产品具有最高数量的患者进行排序。我希望图例按照产品的字母顺序排序。

这可能吗?

回答

3

是的,这是可能的。图表选项在这里: https://plot.ly/r/reference/#pie

一个例子:

library(plotly) 
library(dplyr) 

# Dummy data 
df <- data.frame(Product = c('Kramer', 'George', 'Jerry', 'Elaine', 'Newman'), 
       Patients = c(3, 6, 4, 2, 7)) 

# Make alphabetical 
df <- df %>% 
    arrange(Product) 

# Sorts legend largest to smallest 
plot_ly(df, 
     labels = Product, 
     values = Patients, 
     type = "pie", 
     textfont = list(color = "white")) %>% 
    layout(legend = list(x = 1, y = 0.5)) 

# Set sort argument to FALSE and now orders like the data frame 
plot_ly(df, 
     labels = Product, 
     values = Patients, 
     type = "pie", 
     sort = FALSE, 
     textfont = list(color = "white")) %>% 
    layout(legend = list(x = 1, y = 0.5)) 

# I prefer clockwise 
plot_ly(df, 
     labels = Product, 
     values = Patients, 
     type = "pie", 
     sort = FALSE, 
     direction = "clockwise", 
     textfont = list(color = "white")) %>% 
    layout(legend = list(x = 1, y = 0.5)) 

会议信息:

R version 3.2.3 (2015-12-10) 
Platform: i386-w64-mingw32/i386 (32-bit) 
Running under: Windows >= 8 x64 (build 9200) 

... 

attached base packages: 
[1] stats  graphics grDevices utils  datasets 
[6] methods base  

other attached packages: 
[1] dplyr_0.4.3 plotly_3.4.3 ggplot2_2.1.0 

编辑: 此示例使用plotly 3.x.x.如果您使用plotly 4.x.x或更高版本,则此代码可能无法正常工作。参见这里了解更多详情:https://www.r-bloggers.com/upgrading-to-plotly-4-0-and-above/

+0

工程就像一个魅力 - 谢谢你! – marcopah

+0

我很欣赏Seinfeld的参考资料:-) –