【问题标题】:Contour plot in plotly with break line带有折线的等高线图
【发布时间】:2019-09-22 11:41:49
【问题描述】:

我想要一个等高线图,显示响应比率为 1 的位置。 x 轴是饱和度,y 轴是温度,z 是 spA1 与 spA2 的比值

我可以在 ggplot2 中做到这一点,但我所有的其他数字都在 plotly 中,我希望最终能够覆盖其他线并有一个辅助轴,它在 plotly 上做得很好。

这可以在情节中完成吗?

我已经在 ggplot 2 中使用 geom_raster 和 geom_contour(breaks=1) 进行了尝试,它可以工作,但我尝试使用 add_trace(z=1, type = "scatter", mode = "line")) 它只是在各处画出奇怪的线条......

数据:https://www.dropbox.com/s/gjdr5uuys6tqswr/df.csv?dl=0

Ratio <-(spA1/spA2)

#this works
Ratio <- ggplot(Ratio, aes(x = Saturation, y = Temp, z =    
Ratio, fill = Ratio)) +  geom_raster(interpolate = T) +   
geom_contour(breaks = 1, colour="black", size=1) + theme(plot.title 
= element_text(size = 12)) + 
scale_fill_gradientn(colors=c("red","white","blue"),      
values=rescale(c(0,1, 3)))

#this doesn't work
Ratio <- plot_ly(Ratio, x = ~ Saturation, y = ~ Temp, z =    
~Ratio, type="contour", colorbar = list(title = "Ratio"),
            colorscale = list(
              c(0,1,2),
              c("red", "white", "blue"))) %>%
 add_trace(z=1, type = "scatter", mode = "line")

是否有可能在情节中做到这一点?我想做一些这样的线,并用辅助轴将它们覆盖起来。提前谢谢!

【问题讨论】:

  • 你能附上你的ggplot版本的图吗?
  • 嗨@vestland 我刚刚包含了一个来自 ggplot 的图。它使用类似的数据集,黑线代表计算出的“比率”中的 1:1……我有一些这样的线,但因为我正在研究不同的因素,我希望能够使用 plotly 并拥有具有不同比例的不同轴,因此我可以将它们合并为一个图。谢谢您的帮助!
  • 我设法绘制了 1:1 的线,但我无法让发散颜色渐变工作.... plotly 做发散调色板吗? (比率

标签: plotly contour r-plotly


【解决方案1】:

我想通了。这是

colorscale = "RdBu", contours = list( start = 1, end = 1, coloring='heatmap',    
coloring='lines'), line = list(color = 'black', width = 2)))

【讨论】:

  • 太棒了!这就是我一直在寻找的。有什么方法可以使用超过 1 个值的向量绘制多个等高线(起点、终点)?而不是只有 1 作为你的情况。
猜你喜欢
  • 2021-11-05
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2018-09-24
  • 2023-03-24
  • 1970-01-01
相关资源
最近更新 更多