Browse Source

Correções e mudanças na geração de gráficos do diagnóstico

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
c3022317cf
  1. 2
      sigi/apps/diagnosticos/models.py
  2. 9
      sigi/apps/diagnosticos/views.py

2
sigi/apps/diagnosticos/models.py

@ -163,7 +163,7 @@ class Pergunta(BaseSchema):
cursor.execute(""" cursor.execute("""
SELECT choice_id, sum(1) SELECT choice_id, sum(1)
FROM diagnosticos_resposta FROM diagnosticos_resposta
WHERE schema_id=%s WHERE schema_id=%s and choice_id is not null
GROUP BY choice_id; GROUP BY choice_id;
""", [self.id]) """, [self.id])

9
sigi/apps/diagnosticos/views.py

@ -289,8 +289,8 @@ def grafico_api(request):
graph_params = QueryDict("") graph_params = QueryDict("")
graph_params = graph_params.copy() # to make it mutable graph_params = graph_params.copy() # to make it mutable
width = request.REQUEST.get('width', '300') width = request.REQUEST.get('width', '800')
height = request.REQUEST.get('height', '200') height = request.REQUEST.get('height', '300')
graph_params.update({'chs': width + 'x' + height}) graph_params.update({'chs': width + 'x' + height})
pergunta_slug = request.REQUEST.get('id', None) pergunta_slug = request.REQUEST.get('id', None)
@ -310,12 +310,17 @@ def grafico_api(request):
percent = [str(float(r[1])*100/total) for r in pergunta.group_choices()] percent = [str(float(r[1])*100/total) for r in pergunta.group_choices()]
choices = [str(r[1]) for r in pergunta.group_choices()] choices = [str(r[1]) for r in pergunta.group_choices()]
legend = [str(r[0]) for r in pergunta.group_choices()] legend = [str(r[0]) for r in pergunta.group_choices()]
# colors = [reduce(lambda x,y: x + hex(y).replace('0x',''), map(lambda x: x*(100-(p*10))/100,[0xff, 0xcc,0x33]),'')
# for p in range(0,len(pergunta.group_choices()))]
colors = ["%0.6x" % (0x48d1 + (0xda74 * c))
for c in range(0,len(pergunta.group_choices()))]
graph_params.update({ graph_params.update({
'cht': 'bvg', 'cht': 'bvg',
'chxt': 'y', 'chxt': 'y',
'chd': 't:' + ",".join(percent), 'chd': 't:' + ",".join(percent),
'chdl': '' + "|".join(legend), 'chdl': '' + "|".join(legend),
'chl': '' + "|".join(choices), 'chl': '' + "|".join(choices),
'chco': '' + "|".join(colors)
}) })
response = { response = {

Loading…
Cancel
Save