根据条形图的高度,按Y轴/r.t顺序绘出条形图

根据条形图的高度,按Y轴/r.t顺序绘出条形图,r,plotly,R,Plotly,是否有方法将条形图w.r.t排序为Y轴上的值,如先显示最高的条形图,然后显示第二高的条形图等 比如说,我有产品和销售数据: > Product <- c("Orange", "Mango", "Apple") > Sale <- c(28, 50, 21) > data <- data.frame(Product, Sale) > plot_ly(data, x = ~Product, y = ~Sale, type = 'bar') >产品销售数据绘

是否有方法将条形图w.r.t排序为Y轴上的值,如先显示最高的条形图,然后显示第二高的条形图等

比如说,我有产品和销售数据:

> Product <- c("Orange", "Mango", "Apple")
> Sale <- c(28, 50, 21)
> data <- data.frame(Product, Sale)
> plot_ly(data, x = ~Product, y = ~Sale, type = 'bar')
>产品销售数据绘图(数据,x=~Product,y=~Sale,type='bar')

这显示了顺序为苹果、芒果和橙子的条形图。我需要的是订单:
芒果、橘子和苹果
。这可能吗?

您必须按正确的顺序设置因子水平。在您的情况下,您可以按销售额订购data.frame,然后设置当前表格中显示的系数级别:

library(tidyverse)

Product <- c("Orange", "Mango", "Apple")
Sale <- c(28, 50, 21)
data <- data.frame(Product, Sale) %>%
  arrange(-Sale) %>%
  mutate(Product = fct_inorder(Product))

plot_ly(data, x = ~Product, y = ~Sale, type = 'bar')
库(tidyverse)

产品您必须按正确的顺序设置因子水平。在您的情况下,您可以按销售额订购data.frame,然后设置当前表格中显示的系数级别:

library(tidyverse)

Product <- c("Orange", "Mango", "Apple")
Sale <- c(28, 50, 21)
data <- data.frame(Product, Sale) %>%
  arrange(-Sale) %>%
  mutate(Product = fct_inorder(Product))

plot_ly(data, x = ~Product, y = ~Sale, type = 'bar')
库(tidyverse)

产品您只需将绘图函数更改为

plot_ly(data, x = stats::reorder(Product, -Sale), y = ~Sale, type = 'bar')

这应该可以工作

您只需将绘图功能更改为

plot_ly(data, x = stats::reorder(Product, -Sale), y = ~Sale, type = 'bar')
这应该行得通