dibujo Matplotlib-- (diagrama de dispersión, histograma, dibujos de contorno, 3D FIG)

1. pintura de dispersión

PLT primer lugar, la primera introducción matplotlib.pyplot abreviada, el módulo de numpy reintroducción para generar algunos datos aleatorios. Fue 100 genera dos dimensiones conjunto de datos de distribución normal estándar (media 0, varianza 1) como un conjunto de datos, y la imagen del conjunto de datos. Un valor de color para cada punto se representa por T:

import matplotlib.pyplot as plt
import numpy as np

X = np.random.normal(0,1,100)   #高斯分布(均值为0,方差为1,100个样本)
Y = np.random.normal(0,1,100)   
T = np.arctan2(Y,X)    #反正切函数,返回的是弧度

plt.scatter(X,Y,s=50,c=T,alpha=.8)   #alpha为透明度

plt.xlim(-3,3)
plt.ylim(-3,3)
plt.xticks(())     #参数为空代表隐藏x轴坐标
plt.yticks(())
plt.show()

entradas X e Y como la ubicación, tamaño = 50, el color es T, mapa de color con valores por defecto, la transparencia es 80% alfa. posicionar el rango de visualización del eje x (3,3), y se lavó con función XTICK () para ocultar la empatía x-eje de coordenadas, eje y. Resultados Como se muestra:
Aquí Insertar imagen Descripción

2. Dibuje un gráfico de barras

Generación de datos 10, X es un número entero de 0 a 9, Y es la correspondiente de datos aleatorio uniformemente distribuido. Utiliza la función plt.bar, los parámetros X e Y,

Aquí vamos a optimizar el color y valor. Facecolor cuerpo proporcionado con el color, edgecolor establece el color del borde de blanco

A continuación añadimos una columna respectivamente por encima valores de la función plt.text, con dos decimales% .2f, transversalmente centrada ha = 'centro', alineados con la parte inferior va longitudinal = 'inferior':

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(10)
Y = (1-X/float(10))*np.random.uniform(0.5,1.0,10)   #从均匀分布中随机采样(上界、下界、样本输出数目)

plt.bar(X,Y,facecolor='pink',edgecolor='white')

for x,y in zip(X,Y):
    plt.text(x+0.05,y+0.02,'%.2f' % y,ha='center',va='bottom')
    
plt.xlim(-.5,10)
plt.ylim(0,1.0)
plt.xticks(())
plt.yticks(())
plt.show()

Aquí Insertar imagen Descripción

3. contorno figura

Un conjunto de datos de punto en tres dimensiones (x, y) y el valor de altura correspondiente, un total de 100 puntos. valor de la altura usando una función f (x, y) generado. x, y son en el intervalo [3,3] se distribuye uniformemente 100 valor, y asociar con cada meshgrid cada X y cada Y en el plano de dos dimensiones, rejilla tejida:

A continuación, el color de relleno. función Plt.contourf usando el color añadido a la lista, los parámetros de posición son: X, Y, f (X, Y). Transparencia 0.75, y f (X, Y) correspondiente al valor establecido para el mapa de colores cálidos para encontrar el color correspondiente.

A continuación, dibujo del contorno a cabo. Uso plt.contour función de trazado. parámetros Ubicación: X, Y, f (X, Y). El color negro se selecciona, la anchura de línea de 0,5. En el que 8 representa la intensidad de las líneas de contorno, aquí se divide en 10 partes. Si es 0, la imagen se divide en dos.

Finalmente unirse a la etiqueta, ya sea en línea controles etiqueta dentro de la pintura en línea, tamaño de fuente 10. Y ocultar los ejes de coordenadas:

import matplotlib.pyplot as plt
import numpy as np

def f(x,y):
    return (1 - x / 2 + x**5 + y**3) * np.exp(-x**2 -y**2)
    
x = np.linspace(-3,3,100)
y = np.linspace(-3,3,100)
X,Y = np.meshgrid(x,y)

plt.contourf(X,Y,f(X,Y),6,alpha=.75,cmap=plt.cm.cool)  #添加颜色进去
C = plt.contour(X,Y,f(X,Y),6,colors='black',linewidth=.5) #画轮廓

plt.clabel(C, inline=True, fontsize=10)
plt.xticks(())
plt.yticks(())
plt.show()

Aquí Insertar imagen Descripción

4.Image 图

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(9).reshape((3,3))   #构造3x3矩阵
plt.imshow(a, interpolation='nearest',cmap='bone',origin='upper') #升序打印不同值的颜色
plt.colorbar(shrink=.95)  #颜色棒缩放为原来的95%

plt.xticks(())    #隐藏x坐标轴
plt.yticks(())    #隐藏y坐标轴
plt.show()

Aquí Insertar imagen Descripción

5. La Fig. 3D Videos

Además de introducir matplotlib, sino también añadir un primer módulo adicional de realizar Parcela 3D, es decir, eje de visualización Ejes 3D 3D.

Siguiente alimentar valores X e Y, y X e Y se tejen en una red. Cada valor de la altura (X, Y) que corresponde al punto, se calculó usando la siguiente función.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D     #导入3D显示模块

fig = plt.figure()   #定义一个图像窗口
ax = Axes3D(fig)   #在窗口上添加3D坐标轴
X = np.arange(-3,3,0.1)
Y = np.arange(-3,3,0.1)
X,Y = np.meshgrid(X,Y)    #将 X 和 Y 编织成栅格
R = np.sqrt(X**2 + Y**2)    
Z = np.sin(R)    #z轴

ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))  #横纵坐标跨度为1
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap=plt.get_cmap('rainbow'))   #投影到z=-2处
ax.set_zlim(-2,2)

plt.show()

Aquí Insertar imagen Descripción

Ha publicado 199 artículos originales · alabanza 566 won · vistas 20000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_37763870/article/details/105344164
Recomendado
Clasificación