python 3
DESCRIPTION
python gráficasTRANSCRIPT
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 1/7
"Simpleesmejorquecomplejo"(TimPeters)
Python3paraimpacientes
TutorialdePython TutorialdeIPython TutorialdeEasyGUI
jueves,21deagostode2014
GrficosenIPython
UnosdelosmotivosqueinspiraroneldesarrollodeIPythonfuecontarconunaherramientaqueuniera la posibilidad de realizar clculos avanzados con la obtencin de representacionesgrficasdelospropiosdatosquefacilitaransuanlisis.
IPythonutilizaPylabpara realizar losgrficos.PylabesunaAPIparaPythonde labibliotecagrfica Matplotlib (matplotlib.pyplot) que utiliza Numpy, un mdulo matemtico que aadefuncionesparaoperarconvectoresomatrices.
ParatrabajarconrepresentacionesgrficasdedatostenemosvariasposibilidadesconIPython:
Iniciarlaconsolainteractivayelinterfazgrficoorientadoaobjetos:
$ipython3pylab
IniciarlaconsolainteractivaQTyelinterfazgrficoorientoaobjetos:
$ipython3qtconsolepylab
IniciarNotebookyelinterfazgrficoorientadoaobjetos:
$ipython3notebookpylab
IniciarNotebookparainsertarlosgrficosenuncuadernodetrabajo:
$ipython3notebookpylabinline
Acontinuacin,semuestranunaseriedeejemplosquepretenden ilustrar la formade trabajarcongrficosenIPython.
Enprimerlugariniciaremoslaconsolacon:
$ipython3pylab
Elargumento pylabhacequeal iniciar lasesinsecarguen losmdulosmatplotlib.pylab yNumPy con los alias mpl y np, respetivamente. Para obtener ayuda de estos mdulos enIPython:
:numpy?numpy??:pylab?pylab??
Elsiguienteejemplocreaungrficoapartirdeunalistadevalores.Eneleje"x"serepresentan8elementosnumeradosdel0al7yeneleje"y"losvaloresdecadaunodeellossiguiendoelordendelalista.
Dibujarungrficodelneas
Buscar
Buscar
ndicedelTutorialdePython3ndicedelTutorialdeIPythonndicedelTutorialdeEasyGUI
Pythonparaimpacientes
GrficosenIPythonUnosdelosmotivosqueinspiraroneldesarrollodeIPythonfuecontarconunaherramientaqueunieralaposibilidadderealizarclcu...
Operacionesconfechasyhoras.CalendariosLosmdulosdatetimeycalendaramplanlasposibilidadesdelmdulotimequeproveefuncionesparamanipularexpresionesdetiemp...
EasyGUI,lainterfazgrficafcilIntroduccinEasyGUIesunmdulodeinterfazgrficaparaPython2.x/3.xcreadoporStephenRaymondFergbasadoenTkinter,unbindin...
ExpresionesRegulares.MduloreElmdulorecuentaconfuncionesparatrabajarconexpresionesregularesycadenas.Lafuncinmatch()Lafuncinmatchcomprueba...
FundamentosparaprocesarimgenesconPillow(I)Pillowesunavariante(ofork)delapopularlibreraPIL(PythonImageLibrary)quepermiteprocesarconfacilidadimgenesconPyt...
Cadenas,listas,tuplas,diccionariosyconjuntos(set)Lascadenas,listasytuplassondistintostiposdesecuencias.Unasecuenciaesuntipodeobjetoquealmacenadatosyquepermiteelacce...
MostrarcajasdemensajesconEasyGUIContinuamosconociendomsdetallesdelmduloEasyGUIdespusdelabreveintroduccindelcaptuloanterior.Acontinuacin,re...
OperacionesconarchivosCSVUnarchivoCSV(deValoresSeparadosporComas)esuntipodedocumentoquerepresentalosdatosdeformaparecidaaunatabla,esde...
GlosariodefuncionesmgicasIPythonFuncionesmgicasorientadasalneasA%aliasDefinirunaliasparauncomandodelsistema.%alias_magicCrearuna...
EntornosvirtualesconPythonIntroduccinUnentornovirtualPythonesunespaciodetrabajocreadoapartirdeunainstalacindePythonexistenteenunsistem...
Captulos+populares
Archivo
Archivo
Sitios
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 2/7
:lista1=[11,2,3,15,8,13,21,34]#Declaralista1con8valores:plt.plot(lista1)#Dibujaelgrfico:plt.title("Ttulo")#Estableceelttulodelgrfico:plt.xlabel("abscisa")#Estableceelttulodelejex:plt.ylabel("ordenada")#Estableceelttulodelejey
Este tipo de grficos pueden crearse tambin con el intrprete interactivo de Python si seimportanlosmdulosadecuados.Haydosmodosdehacerlo:
>>>importmatplotlib.pyplotasplt>>>importnumpyasnp>>>lista1=[11,2,3,15,8,13,21,34]>>>plt.plot(lista1)>>>plt.show()
obien,
>>>frompylabimport*>>>lista1=[11,2,3,15,8,13,21,34]>>>plt.plot(lista1)>>>plt.show()
EnelejemploanterioraunqueseimportaelmduloNumpynoesnecesarioporquenoseutiliza.Se incluye la lnea porque dichomdulo suele usarse con frecuencia cuando se trabaja congrficos.
Acontinuacin,seutilizanlosmtodosion()yioff()queactivanodesactivanelmodointeractivodedibujoparaaadir,ono,nuevosdatossobreelgrficoactual.
:lista1=[11,2,3,15,8,13,21,34]#Declaralista1con8valores:plt.plot(lista1)#Dibujaelgrfico:plt.xlabel("abscisa")#InsertaelttulodelejeX:plt.ylabel("ordenada")#InsertaelttulodelejeY:plt.ioff()#Desactivamodointeractivodedibujo:lista2=[2,3,4,2,3,6,4,10]#Declaralista2con8valores:plt.plot(lista2)#Nodibujadatosdelista2:plt.ion()#Activamodointeractivodedibujo:plt.plot(lista2)#Dibujadatosdelista2sinborrardatosdelista1
Paraconocerenunmomentodadoqumodoestactivo:
:plt.isinteractive()#LafuncindevolverTrueoFalse
Activarydesactivarelmodointeractivodedibujo
BpythonIpythonIronPythonMatplotlibNumpyPillowPortablePythonPypiPython.orgSciPy.orgSpyder
Twitter
0
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 3/7
Losmtodosshow()odraw()fuerzanquelainformacinsemuestreenelgrfico(datos,ttulos,etiquetas,etc.)aunqueelmodointeractivoestdesactivado:
:plt.ioff()#Desactivamodointeractivo:lista3=[9,15,9,15,9,15,9,15]#Declaralista3con8valores:plt.plot(lista3)#Nodibujadatosdelista3:plt.show()#Fuerzadibujodedatosdelista3:plt.title("Grfica")#Establecenuevottuloperonomuestraengrfico:plt.show()#Actualizagrficoconnuevottulo:plt.grid(True)#Activacuadrculadelgrficoperonosemuestra:plt.show()#Muestracuadrculadelgrfico:plt.ion()#Activamodointeractivodedibujo
Paraaadir leyendasal grficoanterior asignaral parmetro "label=" deplot()el literal de laleyendaamostrar.Ydespus,ejecutarelmtodolegend().
:plt.plot(lista1,label="Enero"):plt.plot(lista2,label="Febrero"):plt.plot(lista3,label="Marzo"):plt.legend()
Posicindeleyendas(loc=):
upper,arribalower,abajocenter,centroleft,izquierdayright,derecha
Paracolocarlaleyendaenlapartesuperiordelgrficoyalaizquierda:
:plt.legend(loc="upperleft")
Paradar claridada los grficospuedenestablecersedistintosestilos de lneas,marcadores ycolores:
EstilosdeLneas(linestyle=):
,LneaSlida,Lneadiscontinua:,Lneapunteada.,Lneapunteadadiscontinua.yNone,Ningunalnea
Marcadores(marker=):
+,Cruz.,Puntoo,Crculo*,Estrellasp,Pentgonoss,cuadradosx,TachadosD,Diamantesh,Hexgonosy^,Tringulos
Aadirleyendasaungrfico
Cambiarestilosdelnea,marcadoresycoloresdeungrfico
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 4/7
Colores(color=):
b,blueg,greenr,redc,cyanm,magentay,yellowk,blackw,white
Ejemplo:
:plt.plot(lista1,marker='x',linestyle=':',color='b',label="Enero"):plt.plot(lista2,marker='*',linestyle='',color='g',label="Febrero"):plt.plot(lista3,marker='o',linestyle='',color='r',label="Marzo"):plt.legend(loc="upperleft")
Tambin, es posible cambiar las fuentes de los textos, los grosores de las lneas y otraspropiedadesquemodificanelaspectodeungrfico.
Enel siguienteejemplosecreaungrficonuevoconelmtodo figure() dondese representaslounalistadevaloresysedefinenlosrtulosdelosejes.
:plt.figure()#Comenzamosunnuevogrfico(figura):lista1=[11,2,3,15,8,13,21,34]:plt.title("Ttulo"):plt.xlabel("abscisa"):plt.ylabel("ordenada"):indice=np.arange(8)#Declaraunarray:plt.xticks(indice,("A","B","C","D","E","F","G","H")):plt.yticks(np.arange(0,51,10)):plt.plot(lista1)
Se han generado dos arrays con la funcion arange() del mduloNumpy con los siguientesvalores:
Elarrayqueseobtieneconnp.arange(8)contienelossiguientevalores:
array([0,1,2,3,4,5,6,7])
Elarrayqueseobtieneconnp.arange(0,51,10)contienelossiguientevalores:
array([0,10,20,30,40,50])
Losarraysseutilizanparadefinir losrtulosquesemostrarnenambosejes.Eneleje"x"elvalordelndiceessustituidoporuncarcteralfabticoyeneleje"y",directamente,semuestranenlaescalalosvaloresdelpropioarray.
Aadirrtulosalosejes
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 5/7
Activargrficoporsunmero:
Si estamos trabajando con varios grficos a la vez para activar uno concreto indicaremos elnmero que aparece en su barra de ttulo.Cualquier accin que se realice a continuacin seharsobredichogrfico:plt.figure(Numero)
Ejemplo:
:plt.figure()#Aadeunnuevogrficoyloactiva:x=linspace(2,8,4)#devuelve>array([2.,4.,6.,8.]):y=x**2:plt.plot(x,y,"r"):plt.xlabel("x"):plt.ylabel("y"):plt.title("Grafico"):plt.figure(1)#Activaelgrfico1:plt.title("Ttulo")#Cambiaelttulodelgrfico1
Activargrficoporsunombre:
Cuando se trabaja con varios grficos, otra posibilidad de activar un grfico determinado esreferirseasunombre:
:plt.figure('Regiones'):plt.figure('Dispersin'):elementosx=np.random.rand(10)#Generaarray10elementosejex:elementosy=np.random.rand(10)#Generaarray10elementosejey:plt.scatter(elementosx,elementosy):plt.figure('Regiones'):plt.plot(elementosx,elementosy)
Generardosgrficosenlamismaventana:
Dividirlaventanaen1filax2columnasydibujarprimergrfico
:plt.subplot(1,2,1):plt.plot((1,2,3,4,5))
Dividirlaventanaen1filax2columnasydibujarsegundogrfico
:plt.subplot(1,2,2):plt.plot((5,4,3,2,1))
Trabajarconvariosgrficos
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 6/7
Conelmtodohold()seconmutandosestados:unoparacontinuar"dibujando"(True)sobreungrficoyotroparareiniciarelgrfico(False).
:plt.hold()#ConmutardeTrueaFalseydeFalseaTrue
Paracomprobarelestadoenunmomentodado:
:plt.ishold()#devuelve>True/False
Elmtodocla()borratodalainformacinrelacionadaconlosejesdeungrficoyelmtodoclf()borratodoelgrfico.Porotrolado,close()terminaelgrficocerrandosuventana.
:plt.cla()#Borrarinformacindelosejes:plt.clf()#Borrarungrficocompleto:plt.close()#Terminarungrfico
Paraguardarlaimagendeungrficoenunarchivo:
:savefig("archivo.png")#Guardarenformato.png:savefig("archivo.pdf")#Guardarenformato.pdf
:paises=("Alemania","Espaa","Francia","Portugal"):posicion_y=np.arange(len(paises)):unidades=(342,321,192,402):plt.barh(posicion_y,unidades,align="center"):plt.yticks(posicion_y,paises):plt.xlabel('Unidadesvendidas'):plt.title("VentasenEuropa")
:datos=[[1,2,3,4],[3,5,3,5],[8,6,4,2]]:X=np.arange(4):plt.bar(X+0.00,datos[0],color="b",width=0.25):plt.bar(X+0.25,datos[1],color="g",width=0.25):plt.bar(X+0.50,datos[2],color="r",width=0.25):plt.xticks(X+0.38,["A","B","C","D"])
Continuar"dibujando"oreiniciarelgrfico
Borrarungrfico.Borrarlosejes.Cerrarungrfico
Guardarungrficocomo.png/.pdf
Dibujarungrficodebarrashorizontales
Dibujarungrficodemtiplesbarrasverticales
-
18/5/2015 Python 3 para impacientes: Grficos en IPython
http://python-para-impacientes.blogspot.mx/2014/08/graficos-en-ipython.html 7/7
Entradamsreciente EntradaantiguaPginaprincipal
PublicadoporPherkaden16:10
Etiquetas:IPython
:impr=["b/n","color","dplex","A3"]:vol=[25,31,46,10]:expl=(0,0.05,0,0):pie(vol,explode=expl,labels=impr,autopct='%1.1f%%',shadow=True):plt.title("Impresin",bbox={"facecolor":"0.8","pad":5}):plt.legend()
IralndicedeltutorialdeIPython
Dibujarungrficocircular
Recomendar esto en Google
20142015|AntonioSurezJimnez,AndalucaEspaa.PlantillaSimple.ConlatecnologadeBlogger.