Download - Python 3

Transcript
  • 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.


Top Related