Estoy tratando de trazar un histograma 2D en Python usando estos código

from math import *
import pylab as p
import matplotlib.pyplot as plt
import numpy as np

x=part.points[:,0]
y=part.points[:,1]
z=part.points[:,2]

H, xedges, yedges = np.histogram2d(x, y, bins=(128,128))
H.shape, xedges.shape, yedges.shape

extent = [yedges[0], yedges[-1], xedges[-1], xedges[0]]

plt.imshow(H, extent=extent, interpolation='nearest')

plt.colorbar()
plt.xlabel("x")
plt.ylabel("y")
plt.show()

Cada cosa funciona bien: tengo una barra de color que representan los recuentos en cada una de las células. La cosa es que me gustaría tener el registro de la cuenta, pero la función histrogram2d no tiene ninguna opción para eso.

InformationsquelleAutor Brian | 2011-07-26

2 Comentarios

  1. 5

    Supongo que usted podría simplemente hacer

    H_log = np.log(H)
    
    plt.imshow(H_log,…)

    (suponiendo que usted no tiene nulos cuenta).

    Si quieres un 3D gráfico de barras en su lugar, usted puede adaptar el ejemplo siempre en el Matplotlib documentación.

    Más en general, yo recomiendo de todo corazón que usted compruebe el muy útil Matplotlib galería, cuando usted está buscando algo específico capacidades gráficas.

    • Gracias, realmente estoy de nuevo con Python. Puedo preguntarle si es posible tener un histograma 3d? Incluyendo también la coordenada z?
    • He añadido una nota sobre cómo crear un «3D histograma». Por favor, marque esta respuesta como aceptado (a la izquierda) si la respuesta a su pregunta original. 🙂
  2. 3

    En esta respuesta hay una solución para 2D y 3D de Dispersión y de Burbujas Histogramas.

    points, sub = hist2d_scatter( radius, density, bins=4 )
    
    points, sub = hist3d_scatter( temperature, density, radius, bins=4 )

    Donde sub es un matplotlib "Subplot" instancia (3D o no) y pointscontiene los puntos utilizados para el diagrama de dispersión.
    2D histograma con Python

Dejar respuesta

Please enter your comment!
Please enter your name here