In [15]:
%pylab inline
from pymongo import MongoClient
import matplotlib.pyplot as plt

FORMA_MINIMA = 10


client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.ligayahoo
jugadores = db.jugadores

# Colores
pos_map = {'M': 1, 'D': 2, 'F': 3, 'G': 4}

x = []
y = []
area = []
names = []
color = []
for jugador in jugadores.find({},{"g3":1}).sort("date",direction=-1).limit(589):
	if jugador['g3']['data']['avgl3w'] > FORMA_MINIMA:
	   x.append(jugador['g3']['data']['salary'])
	   y.append(jugador['g3']['data']['season_points'])
	   names.append(jugador['g3']['data']['name'])
	   area.append(0.3*jugador['g3']['data']['avgl3w']**3)
	   color.append(float(pos_map[jugador['g3']['data']['position']]))


fig = plt.figure(figsize=(20,10))
plt.scatter(x, y, s=area, c=color, alpha=0.5)
for i, txt in enumerate(names):
    plt.annotate(txt, (x[i], y[i]))
fig.suptitle('ligayahoo analysis', fontsize=20)
plt.xlabel('Precio', fontsize=18)
plt.ylabel('Puntos Totales', fontsize=16)
plt.show()


Populating the interactive namespace from numpy and matplotlib

In [16]:
jugadores.find({},{"g3":1}).sort("date",direction=-1).limit(589).explain()


Out[16]:
{u'allPlans': [{u'cursor': u'BtreeCursor date_-1',
   u'indexBounds': {u'date': [[{u'$maxElement': 1}, {u'$minElement': 1}]]},
   u'n': 589,
   u'nscanned': 589,
   u'nscannedObjects': 589}],
 u'cursor': u'BtreeCursor date_-1',
 u'indexBounds': {u'date': [[{u'$maxElement': 1}, {u'$minElement': 1}]]},
 u'indexOnly': False,
 u'isMultiKey': False,
 u'millis': 0,
 u'n': 589,
 u'nChunkSkips': 0,
 u'nYields': 0,
 u'nscanned': 589,
 u'nscannedAllPlans': 589,
 u'nscannedObjects': 589,
 u'nscannedObjectsAllPlans': 589,
 u'oldPlan': {u'cursor': u'BtreeCursor date_-1',
  u'indexBounds': {u'date': [[{u'$maxElement': 1}, {u'$minElement': 1}]]}},
 u'scanAndOrder': False,
 u'server': u'fa-big:27017'}

In [ ]: