14. Gráficos en python - weincoder/IntroductionProgramCourse GitHub Wiki

En esta sección veremos cómo crear los diferentes gráficos en python

Gráfico de Barras

import matplotlib.pyplot as plt
lenguajes=["py", "java","node","angular"]
uso=[70, 10,10,10]
plt.bar(lenguajes,uso)
plt.title("Lenguajes más usados")
plt.xlabel("lenguajes")
plt.ylabel("porcenyaje de uso")
plt.savefig("Grafico_barras.png")
plt.show()

barras

Gráfico Pie

import matplotlib.pyplot as plt

# Pie chart, where the slices will be ordered and plotted counter-clockwise:
labels = 'Java', 'python', 'C#', 'JavaScript'
sizes = [15, 45, 30, 10]
explode = (0, 0.1, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, shadow=True, startangle=45)
plt.title("Lenguajes más usados")
ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.
plt.savefig("Grafico_pie.png")
plt.show()

pie

Gráfico de curva

import matplotlib.pyplot as plt
import numpy as np

sin_x=[2,4,8]
x = np.arange(0, 2*np.pi, 0.02)
sin_list=[]
tuple_legends=[]

for valor in sin_x:
    sin_list.append(np.sin(valor*x))
    aux="Seno de "+str(valor)+"X"
    tuple_legends.append(aux)
print(tuple_legends)
for i in range(len(sin_list)):
    plt.plot(x,sin_list[i])
plt.legend(tuple_legends,loc="upper right")
plt.savefig ("grah_curve_sin_nx.png")
plt.title ("Gráfico de Seno de 2X, 4X, 8X")
plt.show()

curva

Dibujando un ECG

import matplotlib.pyplot as plt
import numpy as np
from scipy.signal import find_peaks
archivo = open("ecg.csv")
raw_data=archivo.readlines()
for i in range(len(raw_data)):
    raw_data[i]=raw_data[i].strip().split(",")
for i in range (len (raw_data[0])):
    raw_data[0][i]=int(raw_data[0][i])
peaks=find_peaks(raw_data[0],threshold=2,distance=250)[0]
frecuencia_muestreo=500
segundos=len(raw_data[0])/frecuencia_muestreo
frecuencia=60*len(peaks)/segundos
print("el paciente tiene una frecuencia cardiaca de {} por lo tanto esta bien".
format (round(frecuencia,0)))
x=list(range(len(raw_data[0])))
plt.plot(x,raw_data[0])                     # Plot the sine of each x point
plt.title("Grafico de electrocardiograma")
plt.xlabel("tiempo")
plt.ylabel("uVolts")
for peak in peaks:
    plt.plot(x[peak],raw_data[0][peak],'x')
plt.savefig("Grafico_ecg.png")    # Plot the sine of each x point
plt.show() 

ecg