plot_ly barplot会扰乱x轴上的顺序

时间:2017-06-13 13:20:48

标签: r shiny plotly

在使用shiny + plotly进行条形图时,我偶然发现了一个奇怪的输出,从绘制pca分析图表:当有超过9 PC时在X轴上,它以奇怪的顺序显示它们。请参阅下面的示例和输出:

colnames(rv$pca_prep$x)
     [1] "PC1"  "PC2"  "PC3"  "PC4"  "PC5"  "PC6"  "PC7"  "PC8"  "PC9"  "PC10" "PC11" "PC12"
rv$pca_explained
     [1] 0.278889072 0.132174191 0.114264338 0.090405125 0.081273614 0.078230246 0.064104021 0.060324481 0.046375086
    [10] 0.028577782 0.023676285 0.001705759
plot_ly(type = "bar", x = colnames(rv$pca_prep$x), y =rv$pca_explained)

plot_ly output image

经过一些研究后,我发现这种情况可能会使用词法范围。有没有一种简单的方法可以将其更改为所需的数字?有一个简单的解决方法吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

plot_ly将您的输入排序为x,方式与base::sort相同。 Per @Sebastian' 您可以在factor调用中使用plot_ly来解决此问题,但默认情况下factor也会有相同的排序行为。您可以使用factor的{​​{1}}参数来指定因子级别的顺序并获得所需的行为。

levels

输出:

plotly output

相关问题