import urllib
from PIL import Image
import StringIO
def venn_diagram_url(a, b, c, width=400, height=200):
values = [width, height, len(a), len(b), len(c)]
values.append(len(a & b))
values.append(len(a & c))
values.append(len(c & b))
values.append(len(a & b & c))
base_str = 'http://chart.apis.google.com/chart?'
args_str = 'cht=v&chs=%sx%s&chd=t:%s,%s,%s,%s,%s,%s,%s'
return base_str + (args_str % tuple(values))
a = set((1, 2, 3))
b = set((2, 4))
c = set((3, 4, 5))
data = StringIO.StringIO(urllib.urlopen(venn_diagram_url(a, b, c)).read())
Image.open(data).show()
Not much to it... But maybe someone will find it useful.
3 comments:
Thanks for sharing this! I did not yet know about Google's API...
did you figure out how to have more/less than 3 sets?
Milan,
To have 2 sets, make the 3rd number 0. You cannot have more than 3 sets, sadly.
Post a Comment