Plotly 直方图保留幽灵分类 X 值

Plotly Histogram Retains Ghost Categorical X Values

我在标记为 "cat" 的列中有五十个不同分类值的数据,第二列具有连续数值 "amount"。我只想绘制 "cat" 的子集,其中 "amount" 大于 5。为什么我的 x 轴上有 ghost-label 用于那些根据我的子集应该省略的中间行?

示例代码:

cat<-c("a","b","c","d","e")
amount<-c(4,15,18,2,9)

df<-data.frame(cat=cat,amount=amount)

df1<-subset(df,amount >5)

library(plotly)

p <- plot_ly(df1, x = ~cat, y = ~amount) 
p

df1 打印出来:

  cat  amount
2  b   15
3  c   18
5  e    9

并且生成的情节: 有趣的是 "a" 没有出现在我的 x 轴上,但是 "d" 出现了。我认为行号有问题,但为什么会这样,我该如何防止这种情况发生?

提前致谢。

subset 不会丢弃未使用的因子水平,如下所示

str(df1)
 'data.frame':  3 obs. of  2 variables:
 $ cat   : Factor w/ 5 levels "a","b","c","d",..: 2 3 5
 $ amount: num  15 18 9

因此stringsAsFactors = FALSE将导入cat作为字符向量,您可以在子集化后修改为因子或直接使用它。

df <- data.frame(cat=cat,amount=amount, stringsAsFactors = FALSE)
df1 <- subset(df,amount >5)
plot_ly(df1, x = ~cat, y = ~amount)