Autor: hermano menor Wu
Fuente: aprendizaje introductorio de IA (cuenta pública)
En Python, hay 3 bibliotecas de visualización de datos comunes:
matplotlib: la biblioteca más utilizada, que se puede considerar como una biblioteca de habilidades necesaria para la visualización. Es de nivel relativamente bajo, con muchas API y no es fácil de aprender.
seaborn: está construido sobre la base de matplotlib, que puede satisfacer la mayoría de las necesidades de visualización, y aún se necesitan más necesidades especiales para aprender matplotlib.
pyecharts: las dos bibliotecas anteriores son bibliotecas de visualización estática, y pyecharts tiene una buena compatibilidad web y puede lograr efectos dinámicos visuales. Y los tipos también son relativamente ricos. Por ejemplo, esta imagen es muy poderosa: el artefacto de dibujo pyecharts-sunburst
Pandas: Hoy vamos a hablar sobre la visualización de Pandas. Pandas se usa principalmente como una biblioteca de análisis de datos. Aunque no es tan poderoso como las tres bibliotecas anteriores, es más conveniente. En el proceso de análisis de datos, puede realizarse con una sola línea de código. Y los gráficos también son muy bonitos.
Ver caso
En pandas, hay 11 visualizaciones de gráficos más comunes y algunas más avanzadas. Veamos cómo dibujarlas una por una.
import pandas as pdimport numpy as npdf= pd.DataFrame(np.random.rand(10, 4), columns=['A','B','C','D'])
01, histograma vertical
df.plot.bar()
stacked = True, dibuja un histograma apilado
df.plot.bar(stacked=True)
02, histograma horizontal
df.plot.barh()
Del mismo modo, apilado = Verdadero, dibuja un histograma apilado
df.plot.barh(stacked=True)
03, gráfico de áreas
df.plot.area(alpha = 0.9)
df.plot.area(stacked=True,alpha = 0.9)
04, mapa de densidad-kde
df.plot.kde()
05, densidad mapa-densidad
df.plot.density()
06, histograma
Cambiar el conjunto de datos
df = pd.DataFrame({'A': np.random.randn(1000) + 1,
'B': np.random.randn(1000),
'C': np.random.randn(1000) - 1},
columns=['A', 'B', 'C']) df.plot.hist(bins=200)
df.plot.hist(stacked=True, bins=20)
df= pd.DataFrame(np.random.rand(1000, 4), columns=['A','B','C','D'])df.diff().hist(color='k', alpha=0.7, bins=50)
07, mapa de caja
df= pd.DataFrame(np.random.rand(100, 4), columns=['A','B','C','D'])df.plot.box()
vert = False también se puede cambiar a horizontal
df.plot.box(vert=False)
08, diagrama de dispersión
df.plot.scatter(x='A',y='B')
09, diagrama de panal
df = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])df['b'] = df['b'] + np.arange(1000)df.plot.hexbin(x='a', y='b', gridsize=25)
07, gráfico circular
series = pd.Series(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'],
name='series')series.plot.pie(figsize=(6, 6))
series.plot.pie(labels=['AA', 'BB', 'CC', 'DD'], colors=['r', 'g', 'b', 'c'],
autopct='%.2f', fontsize=20, figsize=(6, 6))
08, diagrama de dispersión matricial
from pandas.plotting import scatter_matrix
df = pd.DataFrame(np.random.randn(1000, 4), columns=['a', 'b', 'c', 'd'])
scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')