## Which visualization tool should I use?

1

We consider the below function :

$$f(x,y,z,a) = x*y*z*a$$, where $$x,y \in \mathbb{Q}\cap[0,1000],$$ $$a\in\{2,3\}$$

and $$z=z(x)$$, taking values from the below table based on the level-range that $$x$$ belongs to. For instance, if $$x=150$$, then $$z=5.$$

I am looking for the proper visualization tool that can produce all possible 2-dim and 3-dim graphs of the above function.\

For instance,

• if I fix $$x=150$$ and $$a=2$$, I want the 2-dim graph $$(y,f(150,y,5,2))$$
• if I fix $$a=2$$, I want the 3-dim graph $$(x,y, f(x,y,z(x),2) )$$
• and if I fix $$y=10.5$$, I want the two 2-dim graphs $$(x,f(x,10.5,z(x),2))$$ and $$(x,f(x,10.5,z(x),3))$$

I would like your suggestions on the above. Would Tableau do the job here ? I am not familiar with any tool and I am trying to chose the most situable to start with. Should I consider some other tool maybe? (Power BI or ??)

1

Based on your explanation, $$z$$ is not a parameter so your function can be simplified like this:

$$f(x,y,a) = x*y*z(x)*a\text{, where } x,y \in \mathbb{Q}\cap[0,1000], a\in\{2,3\}$$

Note that $$z(x)$$ is a piecewise function. Also $$a$$ can have only two values so $$f$$ can be divided into $$f_2$$ and $$f_3$$, each of these having only two arguments so it simplifies things.

I don't know Tableau or Powerbi so I can't advise about that. I use R and I played a bit with your function. For a global visualization I came up with a kind of heat map like this:

In case you're interested, I did it like this with 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)