Librería para gráficos en Python
Podemos ver la galería de gráficos que ofrece https://matplotlib.org/stable/gallery/index.html
# Importamos el paquete pandas para trabajar con el DataFrame
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# creamos la matriz
fbk = ['Facebook', 2740, True, 2006]
twt = ['Twitter', 339, False, 2006]
ig = ['Instagram', 1221, True, 2010]
yt = ['YouTube', 2291, False, 2005]
lkn = ['LinkedIn', 727, False, 2003]
wsp = ['WhatsApp', 2000, True, 2009]
tik = ['TikTok', 689, False, 2016]
tel = ['Telegram', 500, False, 2013]
rrss = [fbk,twt,ig,yt,lkn,wsp,tik,tel] # redes sociales 2021
rrss
[['Facebook', 2740, True, 2006], ['Twitter', 339, False, 2006], ['Instagram', 1221, True, 2010], ['YouTube', 2291, False, 2005], ['LinkedIn', 727, False, 2003], ['WhatsApp', 2000, True, 2009], ['TikTok', 689, False, 2016], ['Telegram', 500, False, 2013]]
# convertimos la matriz en un DataFrame
df_rrss = pd.DataFrame(rrss,
columns = ['Nombre', 'Usuarios', 'es_FBK', 'Año'])
df_rrss
Nombre | Usuarios | es_FBK | Año | |
---|---|---|---|---|
0 | 2740 | True | 2006 | |
1 | 339 | False | 2006 | |
2 | 1221 | True | 2010 | |
3 | YouTube | 2291 | False | 2005 |
4 | 727 | False | 2003 | |
5 | 2000 | True | 2009 | |
6 | TikTok | 689 | False | 2016 |
7 | Telegram | 500 | False | 2013 |
# Importamos el paquete
import matplotlib.pyplot as plt
# ejemplo
x = [1, 2, 3, 4, 5]
y = [1, 8, 27, 64, 125] # cubos
plt.plot(x, y)
plt.show()
plt.plot(df_rrss['Nombre'], df_rrss['Usuarios'])
plt.show()
plt.scatter(df_rrss['Nombre'], df_rrss['Usuarios'])
plt.show()
Utilizando un método de Pandas sobre el DataFrame obtenemos un gráfico similar al anterior.
df_rrss.plot(kind = 'scatter', x = 'Nombre', y = 'Usuarios')
plt.show()
plt.bar(df_rrss['Nombre'], df_rrss['Usuarios'])
plt.show()
df_rrss_sort = df_rrss.sort_values('Usuarios', ascending = False)
plt.bar(df_rrss_sort['Nombre'], df_rrss_sort['Usuarios'])
plt.show()
# gráfico de barras ordenado, con color y leyenda de barras
# cambiamos el color del fondo
ax = plt.axes()
ax.set_facecolor("orange")
# construimos el gráfico de barras
plt.bar(df_rrss_sort['Nombre'],
df_rrss_sort['Usuarios'],
color = ['b', 'g', 'r', 'c', 'm', 'y', 'w', 'k'])
# Creamos los nombres del eje x
bars = ('fbk', 'twt', 'ig', 'yt', 'lkn', 'wsp', 'tik', 'tel')
x_pos = np.arange(len(bars))
plt.xticks(x_pos, bars)
plt.show()
# b: blue
# g: green
# r: red
# c: cyan
# m: magenta
# y: yellow
# k: black
# w: white
# utilizando matplotlib
plt.pie(df_rrss['Usuarios'],
labels = df_rrss['Nombre'])
plt.show()
# lista personalizada de colores
lista_color_rrss = ['#3b5998', '#FF0000', '#25d366', '#8a3ab9', '#0e76a8', '#ee1d52', '#4995be', '#00acee']
plt.pie(df_rrss_sort['Usuarios'],
labels = df_rrss_sort['Nombre'],
colors = lista_color_rrss)
plt.show()
df_rrss_sort
Nombre | Usuarios | es_FBK | Año | |
---|---|---|---|---|
0 | 2740 | True | 2006 | |
3 | YouTube | 2291 | False | 2005 |
5 | 2000 | True | 2009 | |
2 | 1221 | True | 2010 | |
4 | 727 | False | 2003 | |
6 | TikTok | 689 | False | 2016 |
7 | Telegram | 500 | False | 2013 |
1 | 339 | False | 2006 |
import numpy as np
import matplotlib.pyplot as plt
n = 100
x = np.random.rand(n)
y = np.random.rand(n)
colors = np.random.rand(n)
area = np.pi*(15 * np.random.rand(n))**2 # 0 to 15 point radii
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()