R plotly barplot,按值排序

时间:2016-10-24 18:16:47

标签: r bar-chart plotly

我有一个在X轴上有类别的条形图并且在Y上计数。有没有办法按Y的值降序排列条形码?

这是示例代码

-dUseCropBox

尽管在情节之前按照计数排列了数据,我仍然按照字母顺序按动物名称排序。

感谢, 的Manoj

1 个答案:

答案 0 :(得分:11)

一些事情:

  1. 查看str(data),除非您在Animals的通话中指定stringsAsFactors = FALSE,否则您的data.frame字符向量会被强制转换为系数。默认情况下,此因子的级别为字母。
  2. 即使Animals成为data中的字符向量,plot_ly也不知道如何处理字符变量,因此会将它们强制转换为因子。< / LI>

    您需要设置因子级别顺序以获得您要查找的降序。

    Animals <- c("giraffes", "orangutans", "monkeys")
    Count <- c(20, 14, 23)
    data <- data.frame(Animals, Count, stringsAsFactors = FALSE)
    data$Animals <- factor(data$Animals, levels = unique(data$Animals)[order(data$Count, decreasing = TRUE)])
    plot_ly(data, x = ~Animals, y = ~Count, type = "bar", name = 'SF Zoo')
    

    enter image description here