我应该使用哪种可视化工具?

数据挖掘 可视化 图表 画面 力比
2022-02-19 04:50:57

我们考虑以下功能:

f(x,y,z,a)=xyza, 在哪里x,yQ[0,1000], a{2,3}

z=z(x),根据以下水平范围从下表中取值x属于。 在此处输入图像描述 例如,如果x=150, 然后z=5.

我正在寻找合适的可视化工具,它可以生成上述函数的所有可能的 2-dim 和 3-dim 图表。\

例如,

  • 如果我修复x=150a=2,我想要二维图(y,f(150,y,5,2))
  • 如果我修复a=2, 我想要 3 维图(x,y,f(x,y,z(x),2))
  • 如果我修复y=10.5,我想要两个二维图(x,f(x,10.5,z(x),2))(x,f(x,10.5,z(x),3))

我想听听您对上述内容的建议。Tableau 会在这里完成这项工作吗?我不熟悉任何工具,我正在尝试选择最合适的开始。我应该考虑其他一些工具吗?(Power BI 或 ??)

此外,请就上述工具提供的功能和高级选项提供建议。

1个回答

根据你的解释,z不是参数,因此您的函数可以像这样简化:

f(x,y,a)=xyz(x)a, where x,yQ[0,1000],a{2,3}

注意z(x)是一个分段函数a只能有两个值,所以f可以分为f2f3,每一个都只有两个参数,所以它简化了事情。

我不知道 Tableau 或 Powerbi,所以我不能就此提出建议。我使用 R 并且玩了一点你的功能。对于全局可视化,我想出了一种像这样的热图:

在此处输入图像描述

如果你有兴趣,我用 R 这样做:

library(ggplot2)

myrandomdata <- function(n) {
  a2 <- data.frame(x=runif(n,0,1000),y=runif(n,0,1000),z=20,a=rep(2,n))
  a3 <- data.frame(x=runif(n,0,1000),y=runif(n,0,1000),z=20,a=rep(3,n))
  df <- rbind(a2,a3)
  df$z[df$z<=500] <- 10
  df$z[df$z<=200] <- 5
  df$z[df$z<=100] <- 2
  df$f <- df$x *df$y * df$z * df$a
  df
}

df <- myrandomdata(50000)
ggplot(df,aes(x,y,colour=f))+geom_point()+facet_grid(a~.)+scale_color_gradient(low="blue", high="red")

(使用随机抽样可能不是标准方法,但它是简单的方法)