python 3

7
"Simple es mejor que complejo" (Tim Peters) Python 3 para impacientes Tutorial de Python Tutorial de IPython Tutorial de EasyGUI jueves, 21 de agosto de 2014 Gráficos en IPython Unos de los motivos que inspiraron el desarrollo de IPython fue contar con una herramienta que uniera la posibilidad de realizar cálculos avanzados con la obtención de representaciones gráficas de los propios datos que facilitaran su análisis. IPython utiliza Pylab para realizar los gráficos. Pylab es una API para Python de la biblioteca gráfica Matplotlib (matplotlib.pyplot) que utiliza Numpy, un módulo matemático que añade funciones para operar con vectores o matrices. Para trabajar con representaciones gráficas de datos tenemos varias posibilidades con IPython: Iniciar la consola interactiva y el interfaz gráfico orientado a objetos : $ ipython3 pylab Iniciar la consola interactiva QT y el interfaz gráfico oriento a objetos : $ ipython3 qtconsole pylab Iniciar Notebook y el interfaz gráfico orientado a objetos : $ ipython3 notebook pylab Iniciar Notebook para insertar los gráficos en un cuaderno de trabajo : $ ipython3 notebook pylab inline A continuación, se muestran una serie de ejemplos que pretenden ilustrar la forma de trabajar con gráficos en IPython. En primer lugar iniciaremos la consola con: $ ipython3 pylab El argumento pylab hace que al iniciar la sesión se carguen los módulos matplotlib.pylab y NumPy con los alias mpl y np, respetivamente. Para obtener ayuda de estos módulos en IPython: : numpy? ó numpy?? : pylab? ó pylab?? El siguiente ejemplo crea un gráfico a partir de una lista de valores. En el eje "x" se representan 8 elementos numerados del 0 al 7 y en el eje "y" los valores de cada uno de ellos siguiendo el orden de la lista. Dibujar un gráfico de líneas Buscar Buscar Índice del Tutorial de Python 3 Índice del Tutorial de IPython Índice del Tutorial de EasyGUI Python para impacientes Gráficos en IPython Unos de los motivos que inspiraron el desarrollo de IPython fue contar con una herramienta que uniera la posibilidad de realizar cálcu... Operaciones con fechas y horas. Calendarios Los módulos datetime y calendar amplían las posibilidades del módulo time que provee funciones para manipular expresiones de tiemp... EasyGUI, la interfaz gráfica fácil Introducción EasyGUI es un módulo de interfaz gráfica para Python 2.x/3.x creado por Stephen Raymond Ferg basado en Tkinter, un bindin... Expresiones Regulares. Módulo re El módulo re cuenta con funciones para trabajar con expresiones regulares y cadenas. La función match() La función match comprueba... Fundamentos para procesar imágenes con Pillow (I) Pillow es una variante (o fork) de la popular librería PIL (Python Image Library) que permite procesar con facilidad imágenes con Pyt... Cadenas, listas, tuplas, diccionarios y conjuntos (set) Las cadenas, listas y tuplas son distintos tipos de secuencias. Una secuencia es un tipo de objeto que almacena datos y que permite el acce... Mostrar cajas de mensajes con EasyGUI Continuamos conociendo más detalles del módulo EasyGUI después de la breve introducción del capítulo anterior . A continuación, re... Operaciones con archivos CSV Un archivo CSV (de Valores Separados por Comas) es un tipo de documento que representa los datos de forma parecida a una tabla, es de... Glosario de funciones mágicas IPython Funciones mágicas orientadas a líneas A %alias Definir un alias para un comando del sistema. %alias_magic Crear un a... Entornos virtuales con Python Introducción Un entorno virtual Python es un espacio de trabajo creado a partir de una instalación de Python existente en un sistem... Capítulos + populares Archivo Archivo Sitios

Upload: gatitahanyou

Post on 16-Sep-2015

6 views

Category:

Documents


0 download

DESCRIPTION

python gráficas

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.