Plotly R 自定义轮廓(多个色标)

问题描述 投票:0回答:1

我有6个不同的数据表,即

df1, df2, df3, df4, df5, df6

我正在尝试为每个数据表创建一个包含 6 个等高线图的大图。以下是每个 df 的一些规格:

  • 最小值(df1$z)= 10,最大值(df1$z)= 40
  • 最小值(df2$z)= 52,最大值(df2$z)= 138
  • 最小值(df3$z)= 131,最大值(df3$z)= 333
  • 最小值(df4$z)= 41,最大值(df4$z)= 173
  • 最小值(df5$z)= 103,最大值(df5$z)= 216
  • 最小值(df6$z)= 182,最大值(df6$z)= 387

每个表有 10000 行,所有 z 值都不同。

我想使用可以应用于所有 6 个数据表的单一色标(或图例)。因此,对于每个等高线图,我指定了等高线的起点和终点,如下所示。

对于

df1
df1_plot <- plot_ly(x = df1$x, y = df1$y, z = df1$z, type = 'contour', autocontour = F, colorscale = 'Greens', contours = list(start = 10, end = 400, ncontours = 25)

但是,问题在于,与

z
中的值相比,
df1
中的
df6
值太小。因此,当我绘制
df1
时,我只是得到一个完全没有轮廓的图,如下图所示:

为了解决这个问题,我正在考虑聚合多个色阶。例如,深蓝色到浅蓝色为0 - 50,浅蓝色到绿色为50 - 100,绿色到黄色为100 - 150,黄色到橙色为150 - 200,等等。另一个例子可以是下面的图片:

我怎样才能实现这个目标?谢谢!

r plot plotly contour
1个回答
0
投票

我不明白为什么绘图是空的以及改变颜色如何解决这个问题。但关于你的问题,你可以做类似的事情

colorscale = list(list(0, "blue"), list(0.5, "white"), list(1, "red"))

控制颜色条,也可以设置调色板的名称

brewer.pal()
,例如

colorscale = "RdYlBu"
© www.soinside.com 2019 - 2024. All rights reserved.