Lissé histogramme 2D à l'aide de matplotlib et imshow

J'essaie de faire un histogramme 2D de la parcelle et à l'obtention d'une "lisse" de l'image par une sorte d'interpolation. Donc je ne les suivants combinant plt.hist2d et plt.imshow

import matplotlib.pyplot as plt
import numpy as np

data = np.loadtxt("parametre_optMC.dat", skiprows=50, usecols=(1,2))

h, x, y, p = plt.hist2d(data[:,0], data[:,1], bins = 20)
plt.imshow(h, origin = "lower", interpolation = "gaussian")
plt.savefig("test.pdf")

Comme vous pouvez le voir sur l'image ci-dessous, les deux tracés se superposent et qui est le problème pour lequel j'ai besoin d'aide

Lissé histogramme 2D à l'aide de matplotlib et imshow

L'ajout de la fcf fonctionne, mais je perds axes dimenions :

import matplotlib.pyplot as plt
import numpy as np

data = np.loadtxt("parametre_optMC.dat", skiprows=50, usecols=(1,2))

h, x, y, p = plt.hist2d(data[:,0], data[:,1], bins = 20)
plt.clf()
plt.imshow(h, origin = "lower", interpolation = "gaussian")
plt.savefig("test.pdf")

Lissé histogramme 2D à l'aide de matplotlib et imshow

Vous pourriez encore avoir des données à partir d'un graphique précédent dans votre figure. Si vous ne plt.clf() et plt.close() il sera effacé.
Ok, ça fonctionne, mais je perds axes dimensions. J'ai éditer le post.
- Vous ne voulez voir que le lissage de l'image? Je ne suis pas sûr de ce que la question est.
Oui, je veux seulement le lissé. Mais comme vous pouvez le voir les axes d'échelle ne sont pas les mêmes avant et après imshow.
Essayez de regarder les réponses ici: stackoverflow.com/q/18696122/1461850

OriginalL'auteur Ger | 2014-05-27