Desenhe um gráfico de dispersão 3D em Python usando Matplotlib

O que é Matplotlib?
Matplotlib é uma biblioteca em Python para criar animações estáticas e dinâmicas e plotar usando suas funções internas. Ele possui muitos recursos integrados e ferramentas de análise integradas para analisar qualquer gráfico ou gráfico.
Se quisermos plotar qualquer gráfico 3D, podemos usar a biblioteca Matplotlib. Quando temos um enorme conjunto de dados de variáveis ​​3D e fazemos um gráfico, parece muito disperso, isso é chamado de gráfico de dispersão 3D. Usaremos o kit de ferramentas matplot3d do Matplotlib para desenhar gráficos 3D.
Há um machado. função que aceita um conjunto de dados de coordenadas X, Y e Z.
Dependendo das propriedades que queremos atribuir aos gráficos 3D, mais argumentos são necessários.

Quando o Matplotlib foi criado pela primeira vez, apenas a plotagem bidimensional foi considerada. Na época da versão 1.0, um conjunto de ferramentas de visualização de dados 3D prático (embora bastante limitado) foi criado pela camada de algumas ferramentas de gráficos 3D em cima da exibição 2D do Matplotlib. Os gráficos tridimensionais são possíveis importando o kit de ferramentas mplot3d (que faz parte da instalação base do Matplotlib).
O gráfico 3D mais simples é um gráfico de dispersão que consiste em linhas ou grupos de triplos (x,y,z). Estes podem ser produzidos com machados. plot3D e ax. A função scatter3D, muito parecida com os gráficos 2D mais típicos apresentados anteriormente. Suas características de chamada são muito semelhantes às de suas contrapartes bidimensionais.
Para criar a ilusão de profundidade na página, a transparência dos pontos de dispersão foi alterada.
Exemplo 1:

# importing the necessary libraries  
import numpy as np  
import matplotlib.pyplot as plt  
from mpl_toolkits import mplot3d  
  
# generating  random dataset  
z = np.random.randint(80, size =(55))  
x = np.random.randint(60, size =(55))  
y = np.random.randint(64, size =(55))  
  
# Creating figures for the plot  
fig = plt.figure(figsize = (10, 7))  
ax = plt.axes(projection ="3d")  
  
# Creating a plot using the random datasets   
ax.scatter3D(x, y, z, color = "red")  
plt.title("3D scatter plot")  
  
# display the  plot  
plt.show()  

saída:

Explicação:
No exemplo acima, criamos um gráfico 3D usando ax. função scatter(). Importamos inicialmente todas as bibliotecas necessárias, como numpy, matplotlib e mpl_toolkits. Em seguida, criamos um conjunto de dados de coordenadas x, y e z de números aleatórios usando a função randInt(). Depois disso, usamos o machado. scatter3D() e inserir as coordenadas x, y e z, tomamos a cor vermelha para os pontos. Por fim, exibimos o gráfico usando a função show(). 

Exemplo 2:

# importing the necessary libraries  
from mpl_toolkits import mplot3d  
import matplotlib.pyplot as plt  
import numpy as np  
  
  
# Creating random dataset  
z = 4 * np.tan(np.random.randint(10, size =(500))) + np.random.randint(100, size =(500))  
x = 4 * np.cos(z) + np.random.normal(size = 500)  
y = 4 * np.sin(z) + 4 * np.random.normal(size = 500)  
  
# Creating figure  
fig = plt.figure(figsize = (16, 12))  
ax = plt.axes(projection ="3d")  
  
# Add x, and y gridlines for the figure  
ax.grid(b = True, color ='blue',linestyle ='-.', linewidth = 0.5,alpha = 0.3)  
  
  
# Creating the color map for the plot  
my_cmap = plt.get_cmap('hsv')  
  
# Creating the 3D plot  
sctt = ax.scatter3D(x, y, z,alpha = 0.8,c = (x + y + z),cmap = my_cmap,marker ='^')  
  
plt.title("3D scatter plot in Python")  
ax.set_xlabel('X-axis', fontweight ='bold')  
ax.set_ylabel('Y-axis', fontweight ='bold')  
ax.set_zlabel('Z-axis', fontweight ='bold')  
fig.colorbar(sctt, ax = ax, shrink = 0.6, aspect = 5)  
  
# display the plot  
plt.show()  

saída:

explicar:

No código acima, usamos a função ax para desenhar um gráfico tridimensional. função scatter3D(). Geramos conjuntos de dados aleatórios de coordenadas x, y e z e os plotamos usando o marcador "^". Fornecemos rótulos para os eixos individuais usando a função set_label. 

 

Acho que você gosta

Origin blog.csdn.net/std7879/article/details/127804598
Recomendado
Clasificación