The best way I've found for doing this is to make a 1px X 1px square gif and resize it in a table cell according to whatever size you need the graph to be.
Problem with nickhills solution is that you would be passing several of your pics over the network, which is unnecessary, as providing a height and width will accomplish the same thing w/o the bandwidth.
Problem w/ not using a picture, and doing it with table cells, or even spans, is that the backgrounds won't print unless the user sets something on their browser to specifically print bg colors. You shouldn't make a user do anything they don't HAVE to do.
So you say you want vertical graphs, right? Let's say, for instance, that you want three vertical graphs. Here's how you might set it up:
First set up a table with 1 row, 3 columns -- make it as wide as the whole page.
Then, inside each of those cells, you nest tables. If you set each cell of the parent table to align=center, then just stick a 1 row, 1 column table inside each of those cells with 0 cellspacing, 0 cellpadding, and 0 border, place the <img> inside each of the child tables and size accordingly.
The graphs come out looking quite nice. You can even put an extra row on top of the graph and put a number if you like. So that the each of the resulting graph tables would have 2 rows, one column, with the bottom row having its height determined by the height you specify for the <img>. The numbers in the top row will come out at varying heights, making for a very Excel-like graph.
Did that make sense? If not, post back, and I can provide an example for you.

paul