¿Cómo buscar gran Dios gráficos pitón y visualización

Python tiene una gran cantidad de herramientas de visualización en el presente documento, esto sólo describe Matplotlib.

Matplotlib es una biblioteca de gráficos 2D, que apoya tanto en formato impreso y la interacción entre sistemas, que puede, bajo el entorno interactivo IPython, aplicaciones Web en uso en scripts de Python. El proyecto fue iniciado en 2002 por John Hunter, cuyo objetivo es crear una interfaz de gráficos de estilo de MATLAB para el pitón. Si uno juego de herramientas GUI (por ejemplo IPython) de unión, Matplotlib incluye además la ampliación y la traducción, tales como las funciones interactivas. No sólo es compatible con muchos sistemas operativos diferentes en una variedad de interfaz gráfica de usuario de servicios de fondo, sino también para exportar imágenes a una variedad de apetito común (vector) y de trama (raster) Figura: PDF, SVG, JPG, PNG, BMP, GIF y así sucesivamente.

matplotlib paquete
llamado "una imagen vale más que mil palabras," Muchas veces tenemos que mirar a través de forma visual para analizar los datos, aunque hay algunos pandas en las operaciones de dibujo, pero comparativamente hablando, matplotlib mejor en términos de visualización de gráficos. Matplotlib Python proporciona una interfaz cómoda, podemos operar sobre matplotlib por Pyplot, en la mayoría de los casos, los comandos Pyplot MATLAB y es algo similar.

La introducción de un paquete Matplotlib operación simple (en el presente documento requieren pip instalar matplotlib):

import matplotlib.pyplot as plt#约定俗成的写法plt
#首先定义两个函数(正弦&余弦)
import numpy as np

X=np.linspace(-np.pi,np.pi,256,endpoint=True)#-π to+π的256个值
C,S=np.cos(X),np.sin(X)
plt.plot(X,C)
plt.plot(X,S)
#在ipython的交互环境中需要这句话才能显示出来
plt.show(

Resultados de salida: Aquí Insertar imagen Descripción
La arquitectura básica de los comandos de dibujo y de sus bienes

Ejemplos de lo anterior podemos ver que casi todas las propiedades de la estructura y dibujo se preparan con la configuración predeterminada. ¿Cuáles son el marco básico ahora vemos el dibujo Pyplot se utiliza Photoshop sabe, primero definir un lienzo de mapeo, lona aquí es la figura, a continuación, poner las otras cosas "dibujar" en la figura.

1) crear una sub-trama en la figura, y propiedades de deformación

x=np.linspace(0,10,1000)#X轴数据
y1=np.sin(x)#Y轴数据
y2=np.cos(x**2)#Y轴数据  x**2即x的平方

plt.figure(figsize=(8,4))

plt.plot(x,y1,label="$sin(x)$",color="red",linewidth=2)#将$包围的内容渲染为数学公式
plt.plot(x,y2,"b--",label="$cos(x^2)$")
#指定曲线的颜色和线性,如‘b--’表示蓝色虚线(b:蓝色,-:虚线)

plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("PyPlot First Example")

'''
使用关键字参数可以指定所绘制的曲线的各种属性:
label:给曲线指定一个标签名称,此标签将在图标中显示。如果标签字符串的前后都有字符'$',则Matplotlib会使用其内嵌的LaTex引擎将其显示为数学公式
color:指定曲线的颜色。颜色可以用如下方法表示
       英文单词
       以‘#’字符开头的3个16进制数,如‘#ff0000’表示红色。
       以0~1的RGB表示,如(1.0,0.0,0.0)也表示红色。
linewidth:指定权限的宽度,可以不是整数,也可以使用缩写形式的参数名lw。
'''

plt.ylim(-1.5,1.5)
plt.legend()#显示左下角的图例

plt.show()

2) crear múltiples sub-trama en la figura

Si usted tiene que dibujar varias gráficas, se puede pasar un parámetro entero especifica el número de la tabla de la Figura, si ya existe el número especificado de objetos de dibujo, no va a crear un nuevo objeto, sino más bien dejar que sea los objetos de dibujo actual.

fig1=plt.figure(2)
plt.subplot(211)
#subplot(211)把绘图区域等分为2行*1列共两个区域,然后在区域1(上区域)中创建一个轴对象
plt.subplot(212)#在区域2(下区域)创建一个轴对象
plt.show()

Resultados de salida: Aquí Insertar imagen Descripción
También podemos dividir los bloques de nuevo por el comando (correspondiente a la operación de dividir celdas de Word)

f1=plt.figure(5)#弹出对话框时的标题,如果显示的形式为弹出对话框的话
plt.subplot(221)
plt.subplot(222)
plt.subplot(212)
plt.subplots_adjust(left=0.08,right=0.95,wspace=0.25,hspace=0.45)
# subplots_adjust的操作时类似于网页css格式化中的边距处理,左边距离多少?
# 右边距离多少?这取决于你需要绘制的大小和各个模块之间的间距
plt.show()

Resultados de salida: Aquí Insertar imagen Descripción
3) mediante el establecimiento de este objeto atributo Ejes de la trama
durante la operación anterior estamos dibujando patrón en la figura, pero el exceso de Al dibujar el patrón, y la necesidad de seleccionar un conjunto diferente de módulos de pequeño formato, los objetos pueden ser muy Ejes una mejor solución a este problema.

fig,axes=plt.subplots(nrows=2,ncols=2)#定一个2*2的plot
plt.show()

Resultados de salida: Aquí Insertar imagen Descripción
Ahora tenemos que operar cada comando plot (argumento secundario), configurando sus títulos y eliminar los valores de las coordenadas horizontales y verticales.

fig,axes=plt.subplots(nrows=2,ncols=2)#定一个2*2的plot
axes[0,0].set(title='Upper Left')
axes[0,1].set(title='Upper Right')
axes[1,0].set(title='Lower Left')
axes[1,1].set(title='Lower Right')

# 通过Axes的flat属性进行遍历
for ax in axes.flat:
#     xticks和yticks设置为空置
    ax.set(xticks=[],yticks=[])
plt.show()

Salida: Aquí Insertar imagen Descripción
Además, en términos prácticos, la operación del diagrama operativo subyacente es el objeto ejes de funcionamiento, pero si no usamos mientras se conduce un ejes de los gráficos, que por defecto es plot.subplot (111), que es en realidad una parcela ejes caso especial.

4) Guardar Figura objetos

Última operación se guarda, nuestro objetivo es utilizar el dibujo en otros estudios, o la esperanza puede guardar los resultados de abajo, sino el funcionamiento en este momento de necesidad. plt.savefig(r"C:\Users\123\Desktop\save_test.png",dpi=520)#默认像素dpi是80
Obviamente, cuanto mayor sea la preservación de píxeles, mayor será la memoria. Aquí atributo savefig sólo se utiliza Figura guardados.

También, además de la operación básica de lo anterior, Matplotlib hay otras ventajas de dibujo, aquí sólo brevemente cuando dibujo que tenía que prestar atención a las cosas
de introducción del módulo Seaborn

A principios de introdujimos la biblioteca de gráficos simples y la propiedad Matplotlib ajustes para la elaboración de rutina utilizando pandas funciones de dibujo han sido suficientes, pero si el estudio de las propiedades de la API Matplotlib es más completo, casi no hay problema no puede ser resuelto. Pero Matplotlib todavía tiene sus deficiencias, Matplotlib muy alto grado de automatización, sin embargo, aprender cómo configurar el sistema con el fin de obtener una figura atractiva es bastante difícil. Con el fin de controlar la apariencia de los gráficos matplotlib, Seaborn módulo viene con muchos temas personalizados y una interfaz avanzada.

1) No módulo de efectos añadió Seaborn

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

np.random.seed(sum(map(ord,"aesthetics")))
#首先定义一个函数用来画正弦函数,可帮助了解可以控制的不同风格参数
def sinplot(flip=1):
    x=np.linspace(0,14,100)
    for i in range(1,7):
        plt.plot(x,np.sin(x+i*0.5)*(7-i)*flip)
sinplot()
plt.show()

Salida: Aquí Insertar imagen Descripción
2) se añadió módulo de efectos Seaborn

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

# 添加了Seaborn模块

np.random.seed(sum(map(ord,"aesthetics")))
#首先定义一个函数用来画正弦函数,可帮助了解可以控制的不同风格参数
def sinplot(flip=1):
    x=np.linspace(0,14,100)
    for i in range(1,7):
        plt.plot(x,np.sin(x+i*0.5)*(7-i)*flip)
#转换成Seaborn模块,只需要引入seaborn模块
import seaborn as sns#添加Seaborn模块
sinplot()
plt.show()

efecto de salida: Aquí Insertar imagen Descripción
pequeños editores de la serie utilizados portátil jupyter, con y sin diferencia obvia módulo de efectos Seaborn.

La ventaja de usar Seaborn son:

Seaborn defecto de fondo y la luz blanca líneas de cuadrícula gris inspiró Matplotlib, colores más suaves que Matplotlib
Seaborn los parámetros de estilo y los datos de los parámetros de dibujo proporcionadas por separado.
En el que, Seaborn tiene dos conjuntos de estilo de control Función: axes_style de función () / set_style () y plotting_context) función (/ set_context ().

axes_style () y plotting_context () devuelve la función del diccionario, la función set_style () y conjuntos de funciones set_context (Matplotlib).

Use la función set_style ()

import seaborn as sns

'''
Seaborn有5种预定义的主题:
darkgrid(灰色背景+白网格)
whitegrid(白色背景+黑网格)
dark(仅灰色背景)
white(仅白色背景)
ticks(坐标轴带刻度)
默认的主题是darkgrid,修改主题可以使用set_style函数
'''
sns.set_style("whitegrid")
sinplot()#即上段代码中定义的函数
plt.show()

Resultados de salida: Aquí Insertar imagen Descripción
Uso set_context función ()

'''
上下文(context)可以设置输出图片的大小尺寸(scale)
Seaborn中预定义的上下文有4种:paper、notebook、talk和poster
默认使用notebook上下文
'''
sns.set_context("poster")
sinplot()#即前文定义的函数
plt.show()

Salida: Aquí Insertar imagen Descripción
El uso Seaborn "se enfríe"

Sin embargo Seaborn puede ser utilizado no sólo para cambiar el color de fondo, o cambiar el tamaño del lienzo, hay muchos otros usos, tales como los siguientes ejemplos.

'''
Annotated heatmaps
================================
'''
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

#通过加载sns自带数据库中的数据(具体数据可以不关心)
flights_long=sns.load_dataset("flights")
flights=flights_long.pivot("month","year","passengers")

# 使用每个单元格中的数据值绘制一个热力图heatmap
sns.heatmap(flights,annot=True,fmt="d",linewidths=.5)
plt.show()

Salida: Aquí Insertar imagen Descripción
estadísticas descriptivas resumen gráfico

La estadística descriptiva es un medio estadístico o por medio de la carta resumen numérico para describir los datos. fase de análisis de los datos del trabajo de minería de datos, podemos hacer uso de la estadística descriptiva para describir o resumir los datos de la situación básica, se puede solucionar su pensamiento, mejores datos de visualización a partir del análisis de los resultados a otros. El análisis numérico, a menudo tenemos que calcular las características estadísticas de los datos, que se utilizan para la computación científica y numpy SciPy herramientas para satisfacer nuestras necesidades. herramienta Matplotlib puede ser utilizado para dibujar el mapa, diagrama de análisis de las necesidades.

1) Los datos de producción

Para producir sus propios datos, incluyendo individual de altura, el peso y la cantidad de libros de préstamo de un año (por qué no hacer sus propios datos, ya que cada dato real se pueden analizar siguiente, por ejemplo, algunos datos no pueden dibujar un gráfico circular, otro ángulo también muestra un ejemplo de que los datos realmente no tiene ningún significado real, sólo con el análisis II, por ejemplo, pero no quiere decir que estos análisis no pueden jugar un papel en aplicaciones específicas).

Además, los datos siguientes se reflejan en la biblioteca de la acción del efecto Seaborn.

# 案例分析
from numpy import array
from numpy.random import normal

def getData():
    heights=[]
    weights=[]
    books=[]
    N=10000
    for i in range(N):
        while True:
            #身高服从均值为172,标准差为6的正态分布
            height=normal(172,6)
            if 0<height:
                break
        while True:
            #体重由身高作为自变量的线性回归模型产生,误差服从标准正态分布
            weight=(height-80)*0.7+normal(0,1)
            if 0<weight:
                break
        while True:
            #借阅量服从均值为20,标准差为5的正态分布
            number=normal(20,5)
            if 0<=number and number<=50:
                book='E' if number<10 else ('D' if number<15 else ('C' if number<20 else ('B' if number<25 else 'A')))
                break
        heights.append(height)
        weights.append(weight)
        books.append(book)
   return array(heights),array(weights),array(books)
heights,weights,books=getData()

2) el número de análisis de frecuencia

(1) Análisis cualitativo

Es un análisis de frecuencia común datos cualitativos gráfico de barras y una herramienta de gráfico circular, para ser el número calculado de cada frecuencia de clase antes de su uso.

Histograma. altura histograma de la columna se utiliza para referirse a un tipo de la frecuencia, utilizando la cantidad de préstamo de libros matplotlib variables cualitativas un histograma de la código como sigue. (Código Segmento continuación)

from matplotlib import pyplot

#绘制柱状图
def drawBar(books):
    xticks=['A','B','C','D','E']
    bookGroup={}
    #对每一类借阅量进行频数统计
    for book in books:
        bookGroup[book]=bookGroup.get(book,0)+1
    #创建柱状图
    #第一个参数为柱的横坐标
    #第二个参数为柱的高度
    #参数align为柱的对齐方式,以第一个参数为参考标准
    pyplot.bar(range(5),[bookGroup.get(xtick,0) for xtick in xticks],align='center')
    
    #设置柱的文字说明
    #第一个参数为文字说明的横坐标
    #第二个参数为文字说明的内容
    pyplot.xticks(range(5),xticks)
    #设置横坐标的文字说明
    pyplot.xlabel("Types of Students")
    #设置纵坐标的文字说明
    pyplot.ylabel("Frequency")
    #设置标题
    pyplot.title("Numbers of Books Students Read")
    #绘图
    pyplot.show()
drawBar(books)

Resultados de salida: el Aquí Insertar imagen Descripción
gráfico circular. La figura importante área del sector circular para referirse a un tipo de frecuencia, utilizando la cantidad de préstamo de libros Matplotlib variables cualitativas gráfico de sectores código de dibujo de la siguiente manera:

#绘制饼形图
def drawPie(books):
    labels=['A','B','C','D','E']
    bookGroup={}
    for book in books:
        bookGroup[book]=bookGroup.get(book,0)+1
    #创建饼形图
    #第一个参数是扇形的面积
    #labels参数为扇形的说明文字
    #autopct参数为扇形占比的显示格式
    pyplot.pie([bookGroup.get(label,0) for label in labels],labels=labels,autopct='%1.1f%%')
    pyplot.title("Number of Books Students Read")
    pyplot.show()
drawPie(books)

Resultados de salida: Aquí Insertar imagen Descripción
(2) Análisis cuantitativo

Histograma histograma similares, la altura de la entrada es para referirse a la frecuencia, excepto que los datos cuantitativos que se divide en varias secciones consecutivas, dibujadas en estas secciones de columnas sucesivas.

Histograma. El uso de este variables cuantitativas altura Matplotlib histogrammed código es el siguiente:

#绘制直方图
def drawHist(heights):
    #创建直方图
    #第一个参数为待绘制的定量数据,不同于定性数据,这里并没有实现进行频数统计
    #第二个参数为划分的区间个数
    pyplot.hist(heights,100)
    pyplot.xlabel('Heights')
    pyplot.ylabel('Frequency')
    pyplot.title('Height of Students')
    pyplot.show()
drawHist(heights)

Resultados salida: En la Aquí Insertar imagen Descripción
curva acumulativa. matplotlib código utiliza la curva acumulativa trazada para las variables cuantitativas Altura siguiente manera:

#绘制累积曲线
def drawCumulativaHist(heights):
    #创建累积曲线
    #第一个参数为待绘制的定量数据
    #第二个参数为划分的区间个数
    #normal参数为是否无量纲化
    #histtype参数为‘step’,绘制阶梯状的曲线
    #cumulative参数为是否累积
    pyplot.hist(heights,20,normed=True,histtype='step',cumulative=True)
    pyplot.xlabel('Heights')
    pyplot.ylabel('Frequency')
    pyplot.title('Heights of Students')
    pyplot.show()
drawCumulativaHist(heights)

Salida: Aquí Insertar imagen Descripción
3) análisis de la relación

Diagrama de dispersión. En el diagrama de dispersión, respectivamente variables dependientes e independientes como abscisa. Cuando la correlación lineal variable independiente con la variable dependiente, una distribución aproximada puntos de la trama de dispersión en una línea recta. Nosotros, como la altura y el peso variable independiente como la variable dependiente, discutimos el impacto de la altura sobre el peso corporal. Matplotlib diagrama de dispersión dibuja usando el siguiente código:

#绘制散点图
def drawScatter(heights,weights):
    #创建散点图
    #第一个参数为点的横坐标
    #第二个参数为点的纵坐标
    pyplot.scatter(heights,weights)
    pyplot.xlabel('Heights')
    pyplot.ylabel('Weight')
    pyplot.title('Heights & Weight of Students')
    pyplot.show()
drawScatter(heights,weights)

Salida: Aquí Insertar imagen Descripción
4) explorar análisis

Recuadro en la figura. Cuando no se dirigen explícitamente a análisis de datos, se realizó una serie de análisis exploratorio de los datos, el centro de datos puede conocer la localización, la extensión y el grado de desviación divergencia. Uso Matplotlib altura de la caja en la elaboración de código de la figura es la siguiente:

#绘制箱型图
def drawBox(heights):
    #创建箱型图
    #第一个参数为待绘制的定量数据
    #第二个参数为数据的文字说明
    pyplot.boxplot([heights],labels=['Heights'])
    pyplot.title('Heights of Students')
    pyplot.show()
drawBox(heights)

Salida: Aquí Insertar imagen Descripción
Nota:

La diferencia entre el cuartil superior y el cuartil inferior llamado rango intercuartil, que es una medida del grado de divergencia de los datos de índice
en la línea de límite y la línea inferior es la distancia media de 1,5 veces el rango intercuartil, más alto que o por debajo del límite inferior de los datos de contorno como un valor atípico
estadística descriptiva es fácil, simple y de análisis de datos intuitiva medios. Sin embargo, debido a la sencilla, la relación multivariante es difícil de describir. En la vida real, el argumento general es diversa: hay factores que determinan el peso de no sólo la altura, así como los hábitos dietéticos, genes de la obesidad. , Nos puede ser procesada por algunos datos multivariados avanzados medios de procesamiento, por ejemplo, características de ingeniería se pueden usar para seleccionar una pluralidad de información mutua fuertes características de correlación como variables independientes con la variable dependiente, un componente principal también se puede utilizar análisis para eliminar la redundancia algún argumento para reducir la complejidad computacional.
El contenido de más de cuántos, y finalmente a recomendar una buena reputación en el número de instituciones públicas [programadores], hay una gran cantidad de veteranos habilidades de aprendizaje, experiencia, habilidades de la entrevista, la experiencia laboral y otra cuota de aprendizaje, cuanto más cuidadosamente preparado el basado en cero información introductoria sobre los datos reales del proyecto todos los días para explicar la sincronización de la tecnología de los programadores de Python, y compartir algo de aprendizaje métodos tienen que prestar atención a los pequeños detallesAquí Insertar imagen Descripción

Publicado 29 artículos originales · ganado elogios 0 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/chengxun02/article/details/105017183
Recomendado
Clasificación