# -*- coding: utf-8 -*-
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import csv
from collections import OrderedDict
%matplotlib inline
plt.rc("savefig", dpi=100)
# Análise dos dados referentes à pesquisa de satisfação dos Alunos do Instituto de Física
# Gráficos tipo pizza baseado no exemplo:
# http://matplotlib.org/1.2.1/examples/pylab_examples/pie_demo.html
Cursos=["Bacharelado em Física: Pesquisa Básica"]
caminho_dados = "./dados/cursos/"
csv_files=["Pesquisa_Basica.csv"]
Questoes = ["[Qualidade geral do seu curso.]",
"[Estrutura curricular do seu curso.]",
"[Integração das atividades de pesquisa com o currículo do seu curso.]",
"[Integração das atividades de extensão com o currículo do seu curso.]",
"[Adequação das atividades extras, tais como palestras e seminários.]",
"[Estímulo à participação dos alunos em projetos de pesquisa.]",
"[Estímulo à participação dos alunos em projetos de extensão.]",
"[Estímulo à participação dos alunos em iniciação à docência.]",
"[Equipamentos e laboratórios disponíveis para desenvolvimento de pesquisa.]",
"[Acesso aos equipamentos e laboratórios para realização das atividades necessárias.]",
"[Acesso aos materiais bibliográficos (livros, revistas, bases de dados, e outros) .]",
"[Inovação nos métodos de ensino e uso de tecnologias no ensino.]",
"[Agilidade e qualidade do atendimento prestado pelos funcionários do Instituto de Física]",
"[Disponibilidade da coordenação do curso para atendimento aos alunos.]"]
Etiquetas=["Totalmente insatisfeito",
"Insatisfeito",
"Satisfeito",
"Totalmente satisfeito",
"Não tenho opinião".decode('utf-8')]
cores = ["darkred","red","green","darkgreen","antiquewhite"]
# -*- coding: utf-8 -*-
for arquivo in csv_files:
curso=Cursos[csv_files.index(arquivo)]
for Q in Questoes:
Qgeral=OrderedDict([("Totalmente insatisfeito",0),("Insatisfeito",0),("Satisfeito",0),("Totalmente satisfeito",0),("Não tenho opinião",0)])
#print curso
with open(caminho_dados+arquivo) as file:
reader = csv.DictReader(file)
#print Q
for row in reader:
#print row[Q]
Qgeral[row[Q]]+=1
#Qgeral.popitem("Não tenho opinião")
#print Qgeral.keys()
#print Qgeral.values()
plt.figure(1, figsize=(6,6))
plt.ax = plt.axes([0.1, 0.1, 0.8, 0.8])
plt.ax.text(-0.0, +1.3, curso.decode('utf-8')+" - Respondentes: "+str(np.sum(Qgeral.values())), size=10, ha='center')
plt.pie(Qgeral.values(), explode=[0.05,0.05,0.05,0.05,0.05], colors=cores,
autopct='%1.1f%%', shadow=True, startangle=0)
# The default startangle is 0, which would start
# the Frogs slice on the x-axis. With startangle=90,
# everything is rotated counter-clockwise by 90 degrees,
# so the plotting starts on the positive y-axis.
#text(0, 0, curso, fontsize=12)
plt.legend(Etiquetas, loc='best', bbox_to_anchor=(-0.05, 0.9),fontsize=12)
plt.suptitle(str(Q).decode('utf-8'), fontsize=16)
plt.show()