Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R中的plotly命令x轴_R_Plotly - Fatal编程技术网

使用R中的plotly命令x轴

使用R中的plotly命令x轴,r,plotly,R,Plotly,我正在用plotly软件包制作图表。我认为这将是一个简单的任务,但我坚持与此代码。下面您可以看到代码和数据 DataSetTable<-structure(list(Range = c("=<100", "100-200", "200-300", "300-400", &qu

我正在用plotly软件包制作图表。我认为这将是一个简单的任务,但我坚持与此代码。下面您可以看到代码和数据

  DataSetTable<-structure(list(Range = c("=<100", "100-200", "200-300", "300-400", 
                                                               "400-500", "500-600", "600-700", "700-800", "800-900", "900-1,000", 
                                                               "1,000-1,100", "1,100-1,200", "1,200-1,300", "1,300-1,400", "> 1,400"
                        ), Sales_before = c(91.3653, 92.89215, 281.44935, 135.2511, 93.73995, 
                                            44.87535, 25.1424, 15.1659, 9.32445, 5.6484, 4.3929, 3.2049, 
                                            2.2329, 1.58355, 7.6707), Sales_after = c(86.2056, 80.6733, 256.63905, 
                                                                                      142.83, 110.2518, 53.82045, 29.95515, 17.7552, 10.4598, 6.8472, 
                                                                                      4.7466, 4.06755, 2.62575, 2.01285, 9.1125)), row.names = c(NA, 
                                                                                                                                                 -15L), class = c("tbl_df", "tbl", "data.frame"))
                    

datasetable您可以将范围更改为有序因子

DataSetTable<-structure(list(Range = c("=<100", "100-200", "200-300", "300-400", 
                                                                                 "400-500", "500-600", "600-700", "700-800", "800-900", "900-1,000", 
                                                                                 "1,000-1,100", "1,100-1,200", "1,200-1,300", "1,300-1,400", "> 1,400"
    ), Sales_before = c(91.3653, 92.89215, 281.44935, 135.2511, 93.73995, 
                                            44.87535, 25.1424, 15.1659, 9.32445, 5.6484, 4.3929, 3.2049, 
                                            2.2329, 1.58355, 7.6707), Sales_after = c(86.2056, 80.6733, 256.63905, 
                                                                                                                                142.83, 110.2518, 53.82045, 29.95515, 17.7552, 10.4598, 6.8472, 
                                                                                                                                4.7466, 4.06755, 2.62575, 2.01285, 9.1125)), row.names = c(NA, 
                                                                                                                                                                                                                                                     -15L), class = c("tbl_df", "tbl", "data.frame"))
    
DataSetTable$Range <- factor(DataSetTable$Range, ordered = T, levels=DataSetTable$Range)
    
library(plotly)
fig <- plot_ly(DataSetTable, x = ~Range, y = ~Sales_before , name = "Sales_before", type = 'scatter', mode = 'lines',
                                 line = list(dash = "solid"))
fig <- fig %>% add_trace(y = ~Sales_after, name = "After_before", line = list(dash = "dash"))%>%
        layout(
            xaxis = list(title = ' '),
            yaxis = list(title = ' ')
        )
fig

datasetableshare您应该使用索引作为x轴,然后覆盖文本。它与我检查的内容有些相似,但示例是Python而不是R中的。API非常相似,您可以尝试复制或检查关于ticktext的R文档。如果你还有问题,我可以帮你解答。
DataSetTable<-structure(list(Range = c("=<100", "100-200", "200-300", "300-400", 
                                                                                 "400-500", "500-600", "600-700", "700-800", "800-900", "900-1,000", 
                                                                                 "1,000-1,100", "1,100-1,200", "1,200-1,300", "1,300-1,400", "> 1,400"
    ), Sales_before = c(91.3653, 92.89215, 281.44935, 135.2511, 93.73995, 
                                            44.87535, 25.1424, 15.1659, 9.32445, 5.6484, 4.3929, 3.2049, 
                                            2.2329, 1.58355, 7.6707), Sales_after = c(86.2056, 80.6733, 256.63905, 
                                                                                                                                142.83, 110.2518, 53.82045, 29.95515, 17.7552, 10.4598, 6.8472, 
                                                                                                                                4.7466, 4.06755, 2.62575, 2.01285, 9.1125)), row.names = c(NA, 
                                                                                                                                                                                                                                                     -15L), class = c("tbl_df", "tbl", "data.frame"))
    
DataSetTable$Range <- factor(DataSetTable$Range, ordered = T, levels=DataSetTable$Range)
    
library(plotly)
fig <- plot_ly(DataSetTable, x = ~Range, y = ~Sales_before , name = "Sales_before", type = 'scatter', mode = 'lines',
                                 line = list(dash = "solid"))
fig <- fig %>% add_trace(y = ~Sales_after, name = "After_before", line = list(dash = "dash"))%>%
        layout(
            xaxis = list(title = ' '),
            yaxis = list(title = ' ')
        )
fig