Directorio artículo
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:
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()
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()
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()
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()