John
John

Reputation: 3

How to plot 3 dimensional array?

I have three dimensional array of data that is generated from web server logs for my cloud application. The data consists of a weekly count from each server's log for a particular request (e.g., GET /login.php or POST /update.php).

The header of the first dimension contains the server names.
The header of the second dimension contains the request types.
The header of the third dimension contains the particular weeks.
The data is just a number (the count).

E.g., for three servers, for two request types, and for two weeks,

SERVER REQUEST WEEK COUNT
     1       1    1  1234
     1       1    2  5678
     1       2    1  9012
     1       2    2  3456
     2       1    1  7890
     2       1    2  1234
     2       2    1  5678
     2       2    2  9012
     3       1    1  3456
     3       1    2  7890
     3       2    1  1234
     3       2    2  5678

What are some programs/libraries that will graph this data (e.g., in bar charts spread out over a surface)?

Is there a file format that will easily allow to use this data for multiple programs/libraries?

OS/language does not matter.

Upvotes: 0

Views: 1616

Answers (3)

abalakin
abalakin

Reputation: 827

There are a set of plots which can display 3D matrix a[i,j,k]: isosurfaces, contours or density plot at slice(s), cloud plot. Here you can look on the samples produced by MathGL (GPL plotting library).

Upvotes: 0

kc2001
kc2001

Reputation: 5247

Frank's suggestions of GnuPlot and R are good ones. In addition, you might look at ggobi, which has some visualizations for higher dimensional data.

Upvotes: 0

Frank Schmitt
Frank Schmitt

Reputation: 30775

Your data has 4 dimensions (server name, request type, week, count), not 3. Visualizing this is going to be difficult.
Unless you want to use time as a 4th dimension (using some kind of animated graph), I'd create graphs for server name/request type, server name/week and request type/week and display the aggregated count (just adding the values for the "missing" dimension).

Gnuplot or the R project can render some amazing graphs and are both open source.

Upvotes: 0

Related Questions