# -*- 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=["Licenciatura em Física - Noturno"] caminho_dados = "./dados/cursos/" csv_files=["SatisfaçãoIF_UFRGS_Jan2017_Alunos_Licenciatura_Física_Noturno.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=False, 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()