Sto usando Python e un file CSV. Attualmente sto cercando di modificare il diagramma a dispersione (2d) qui sotto per cambiare i colori in base a una terza colonna nel mio file csv. Dopo aver cercato tra più post, voglio sostanzialmente usare una mappa di colori generica (arcobaleno) e moltiplicare il mio terzo array con la mappa di colori per visualizzare colori diversi per ciascuno dei punti xy. Penso di poter fare tutto dalla funzione ax.scatter
ma non sono sicuro di come moltiplicare ogni coordinata x, y per la mappa di colori e il terzo numero di array. Dovrebbe assomigliare ad una trama di contorno, ma preferirei una trama a dispersione colorata diversa.Come modificare 2d Scatterplot per visualizzare il colore basato sul terzo array nel file csv?
Ecco il codice che sto usando:
import matplotlib
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
import numpy as np
r = mlab.csv2rec('test.csv')
fig = Figure(figsize=(6,6))
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = r.xavg #first column
y = r.yavg #second column
z = r.wtr #third column
ax.scatter(x,y,s=.2,c='b', marker = ',', cmap = ?);
ringrazio molto, che ha risposto alla mia domanda. Suppongo ora che per cambiare la mappa dei colori, posso seguire l'altra documentazione. Volevo anche conservare gli elementi del quadro nel codice in modo da poter utilizzare il seguente codice per salvare l'immagine: 'canvas.print_figure (' test.png ', dpi = 250)' – Jonny
@Jonny non è necessario l'oggetto canvas per salvare le tue figure, puoi usare [savefig] (http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.savefig). – nye17
Vero, vero. Grazie per il feedback – Jonny