Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
如何使用plotly R创建带有颜色渐变的加权散点图/气泡图_R_Plotly_Scatter Plot_R Plotly_Bubble Chart - Fatal编程技术网

如何使用plotly R创建带有颜色渐变的加权散点图/气泡图

如何使用plotly R创建带有颜色渐变的加权散点图/气泡图,r,plotly,scatter-plot,r-plotly,bubble-chart,R,Plotly,Scatter Plot,R Plotly,Bubble Chart,我正在尝试使用plotly生成加权散点图/气泡图。“我的数据集”包含4列: 1) 基准 2) 模型 3) 改进 4) 重量 我试着以x轴为基准,y轴为模型。点的大小是权重,颜色是基于改进值的渐变。除了梯度,我可以让它全部工作 见下面的代码: BenchmarkQuant <- c("A","A","A","B","B","B","C","C","C") ModelQuant <- c("X","Y","Z","X","Y","Z","X","Y","Z") ModelImpr

我正在尝试使用plotly生成加权散点图/气泡图。“我的数据集”包含4列:

1) 基准 2) 模型 3) 改进 4) 重量

我试着以x轴为基准,y轴为模型。点的大小是权重,颜色是基于改进值的渐变。除了梯度,我可以让它全部工作

见下面的代码:

BenchmarkQuant <- c("A","A","A","B","B","B","C","C","C")
ModelQuant     <- c("X","Y","Z","X","Y","Z","X","Y","Z")
ModelImprovement <- c(runif(9))
SumExposure <-    c(runif(9))*100

data <- as.data.frame(cbind(BenchmarkQuant,ModelQuant,ModelImprovement,SumExposure))
data$SumExposure <- as.numeric(data$SumExposure)

p <- plot_ly(data,
             x = ~BenchmarkQuant,
             y = ~ModelQuant,
             type = 'scatter',
             mode = 'markers',  
             size = ~SumExposure,  
             color = (ModelImprovement), #These are the 2 lines causing issues
             colors = 'Reds',            #These are the 2 lines causing issues
             #Choosing the range of the bubbles' sizes:
             sizes = c(20, 75), 
             marker = list(opacity = 0.5, sizemode = 'diameter')) %>%
  layout(title = 'Model Comparison',
         xaxis = list(showgrid = FALSE),
         yaxis = list(showgrid = FALSE),
         showlegend = TRUE)

p

当运行上面的代码时,如果我没有包含关于颜色的两行代码,那么除了没有渐变外,其他代码都能正常工作。

您非常接近。在您的回复后做了一些调整。希望这就是你要找的

p <- plot_ly(data,
             x = ~BenchmarkQuant,
             y = ~ModelQuant,
             type = 'scatter',
             mode = 'markers',  
             size = ~SumExposure, 
             colors = 'Reds',
             hoverinfo = 'x+y+text', text = ~paste("Improvement: ", ModelImprovement, "<br>"),

             #Choosing the range of the bubbles' sizes:
             sizes = c(20, 75), 
             marker = list(opacity = 0.5, sizemode = 'diameter',
                           color = ~ModelImprovement,
                           line = list(
                             color = ~ModelImprovement,
                             width = 1),
                           colorbar=list(title='Colorbar'))) %>%
  layout(title = 'Model Comparison',
         xaxis = list(showgrid = FALSE),
         yaxis = list(showgrid = FALSE),
         showlegend = FALSE)

p

p这很管用,但不是我想要的。问题在于,创建的图表似乎将ModelImprovement视为一个分类变量,如图例所示,它是单个值以及相关的颜色,而不是渐变比例。
p <- plot_ly(data,
             x = ~BenchmarkQuant,
             y = ~ModelQuant,
             type = 'scatter',
             mode = 'markers',  
             size = ~SumExposure, 
             colors = 'Reds',
             hoverinfo = 'x+y+text', text = ~paste("Improvement: ", ModelImprovement, "<br>"),

             #Choosing the range of the bubbles' sizes:
             sizes = c(20, 75), 
             marker = list(opacity = 0.5, sizemode = 'diameter',
                           color = ~ModelImprovement,
                           line = list(
                             color = ~ModelImprovement,
                             width = 1),
                           colorbar=list(title='Colorbar'))) %>%
  layout(title = 'Model Comparison',
         xaxis = list(showgrid = FALSE),
         yaxis = list(showgrid = FALSE),
         showlegend = FALSE)

p