Column graph with variable width

I want to plat a column graph with variable width. The size of both axis have meaning. The Y-axis is the density. The X-axis is the size. Let's say it is a graph of world population by country. Say China has 1 billion people occupying an area of 10000 km2. And Japan has 0.1 billion people occupying an area 500 km2. So their density is 1 billion / 10000 and 0.1 billion / 500 respectively. The chart should show Japan's column twice as high as China but much narrower. And the area of each column reflects the population.

My question is how do I plot a column graph with variable width? The closest I can find is in the histogram in the second example below

http://matplotlib.sourceforge.net/examples/pylab_examples/histogram_demo_extended.html

I'm quite new to matplotlib. Thanks for your help.

Wai Yip