sto cercando di creare una mappa di densita` con python. Il formato dei dati che sto leggendo e` il seguente. dove la prima colonna rappresenta una posizione sulla coordinata X, la seconda colonna la posizione sulla coordinata Y, e la terza e` una densita`:
Codice: Seleziona tutto
28.3504505 29.0699501 0.268023282
35.2485809 20.2562389 0.816154957
34.6665802 61.0810776 0.246915996
50.3290787 19.9683323 0.172673523
55.8408813 19.7036400 0.350994051
56.7462769 20.0150356 0.331803918
21.0347328 20.6788921 0.182483748
30.5288696 21.6862411 0.262596667
40.0981827 22.0056705 0.233366787
43.0356827 21.1052628 0.227440864
49.6228790 21.5872326 0.173172787
50.4580803 22.1529598 0.420962095
51.9556808 20.5895081 0.304322124
51.1397781 21.3327503 0.474746525
54.1796799 22.1334896 0.358656794
57.3273773 20.8512363 0.190954536
Codice: Seleziona tutto
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import LogNorm
import numpy as np
x, y, z = np.loadtxt('dmap.dat', unpack=True)
N = len(z)
Z = z.reshape(N, N)
plt.imshow(Z, extent=(np.amin(x), np.amax(x), np.amin(y), np.amax(y)),
cmap=cm.hot, norm=LogNorm())
plt.colorbar()
plt.show()
Codice: Seleziona tutto
Traceback (most recent call last):
File "map.py", line 7, in <module>
Z = z.reshape(N, N)
ValueError: total size of new array must be unchanged
Grazie mille.