Solved

# Using mathematica how do I plot histogram with data grouped by month (or week)?

Posted on 2011-09-23

I am test driving Mathematica and I am stuck on trying to figure how to plot a histogram where the data is grouped by weekly or monthly dates.

Using:

ClosedPos1 = {#[[1, 1]], #[[2]]} & /@ SQLExecute[conn, "

SELECT pDate, NumClosePos FROM stats__s1_c_long_tft3

WHERE NumClosePos > 1

"]

I have extraced from MySQL Database a list of dates, and a value. The list spans 2+ years and consist of daily dates.

I want to plot a histogram showing me the total number of values which exist for each month. I then want to plot the same but using the total count for each week.

Here is a sample of the data:

{{{2009, 8, 19}, 2}, {{2009, 8, 20}, 4}, {{2009, 8, 21},

4}, {{2009, 8, 24}, 3}, {{2009, 9, 3}, 4}, {{2009, 9, 8},

2}, {{2009, 9, 9}, 5}, {{2009, 9, 10}, 5}, {{2009, 9, 17},

2}, {{2009, 9, 18}, 2}, {{2009, 9, 21}, 2}, {{2009, 9, 28},

5}, {{2009, 10, 2}, 2}, {{2009, 10, 12}, 5}, {{2009, 10, 21},

2}, {{2009, 10, 23}, 3}, {{2009, 10, 28}, 4}, {{2009, 10, 30},

5}, {{2009, 11, 2}, 5}, {{2009, 11, 5}, 4}, {{2009, 11, 9},

3}, {{2009, 11, 16}, 6}, {{2009, 11, 18}, 4}, {{2009, 11, 30},

2}, {{2009, 12, 1}, 13}, {{2009, 12, 2}, 3}, {{2009, 12, 3},

2}, {{2009, 12, 10}, 3}, {{2009, 12, 14}, 6}, {{2009, 12, 16},

4}, {{2009, 12, 17}, 2}, {{2009, 12, 18}, 7},

.......,

So, if I was summing weekly data the first plot would span

{2009, 8, 19}, 2}, {{2009, 8, 20}, 4}, {{2009, 8, 21}, 4},

which would be 2+4+4 = 10, and so on

If I was plotting monthly the each bar in the histogram would be the sum of the values for that month.

I would like to use FrameLabel to name the axis.

I have just spent 2 hours googling for some sample code but no luck.

Any help is appreciated!