【问题标题】:colorful plot using persp使用 persp 的彩色情节
【发布时间】:2016-08-24 08:10:17
【问题描述】:

我正在使用“persp”来生成 3D-Plot。结果是:

persp(TestMatrix ,theta = 30, phi = 30, expand = 0.19,scale=FALSE,shade=0.4,border=NA,box=FALSE)

在我的图表中。我想将颜色从蓝色连续更改为红色。

我该怎么办?

更新

我想生成这样的图表:

【问题讨论】:

  • 只需建立一个等高线图。这些通常是比透视图更好的可视化效果(特别是如果查看者无法更改透视图)。
  • 你有我的例子吗?
  • 查看help("filled.contour")中的示例。

标签: r plot


【解决方案1】:

如果您只需要一条红色阴影曲线,请尝试在您的 persp 函数中添加一个col参数:

persp(TestMatrix, 
      theta = 30, phi = 30, expand = 0.19, scale=FALSE,
      shade=0.4, col="red", border="blue",
      box=FALSE)

编辑: 感谢您的编辑,我不确定您是否需要双色图。这里有一个关于这个问题的问题:Create 3D Plot Colored According to the Z-axis。您需要一个颜色矩阵来指定曲面每个面的颜色。 subtil点是计算每个面中间的高度(z),即网格的四个顶点的平均值(对应于z值)。 根据您的图表调整答案,解决方案可能是这样的:

# Color palette (100 colors)
col.pal<-colorRampPalette(c("blue", "red"))
colors<-col.pal(100)
# height of facets
z.facet.center <- (z[-1, -1] + z[-1, -ncol(z)] + z[-nrow(z), -1] + z[-nrow(z), -ncol(z)])/4
# Range of the facet center on a 100-scale (number of colors)
z.facet.range<-cut(z.facet.center, 100)

persp(x, y, z, 
  theta = 30, phi = 30, expand = 0.19, scale=FALSE,
  shade=NA, col=colors[z.facet.range], border="grey80",
  box=FALSE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-10
    • 2020-07-04
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2017-07-20
    相关资源
    最近更新 更多