There's a gallery example doing that in general, making pie-charts out of the markers:
although I think my demo of it shows off its data-representation better:
# Piechart markers from matplotlib gallery, thanks to Manuel Metz for the original example
# CPHLewis, 2010.
import numpy as np
import matplotlib.pyplot as plt
x_cases = [ .25, .5, .75]
y_cases = [ .33, .5, .66]
outcomes = [('x wins', outcome_xwins, 'blue'),
('y wins', outcome_ywins, 'green')] #the name, calculation, and plotting color for categories of outcome
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('Small multiples: pie charts calculated based on (x,y)')
legend_once = True
#At each point in the plot we calculate everything about the outcomes.
for x in x_cases:
for y in y_cases:
size = payoff(x,y)
start_at = 0
for result in outcomes:
result_share = result(x,y)
xpt =  + np.cos(np.linspace(2*math.pi*start_at, 2*math.pi*(result_share+start_at), 10)).tolist()
ypt =  + np.sin(np.linspace(2*math.pi*start_at, 2*math.pi*(result_share+start_at), 10)).tolist()
xypt = zip(xpt, ypt)
ax.scatter([x],[y], marker = (xypt, 0), s = size, facecolor = result, label=result)
start_at = start_at + result_share
if legend_once: ax.legend() #don't know why this isn't picking up the labels.
legend_once = False
...maybe dividing the markers up into 2, 3, or 4 sections would be useful too.