Ho un set di dati con etichette che vorrei tracciare con punti colorati in base alla loro etichetta. C'è un modo semplice per ottenere numeri di riga correnti all'interno della trama, in modo da poter determinare a quale categoria appartiene il punto?Trama da colorare in Mathematica secondo le etichette
Ho capito che x,y,z
sono le coordinate dei dati tracciati, ma non è di aiuto per le etichette esterne.
Questo è piuttosto brutto e funziona solo sul set di dati ordinato con distribuzione regolare.
data = Import["http://ftp.ics.uci.edu/pub/machine-learning-databases/iris/iris.data"];
data = Drop[data, -1]; (*there one extra line at the end*)
inData = data[[All, 1 ;; 4]];
labels = data[[All, 5]];
ListPlot3D[inData,
ColorFunction ->
Function[{x, y, z},
If[y < 0.33, RGBColor[1, 1, 0.],
If[y < 0.66, RGBColor[1, 0, 0.], RGBColor[1, 0, 1]]
]
]
]
Risultato atteso:
Dove sono le etichette di un set di dati? Si prega di descrivere la struttura –
le etichette sono stringhe, potrebbe essere sostituito da numeri o colori RGB, non importa davvero – Tombart
La domanda non è ancora del tutto chiara, un set di dati campione sarebbe buono. Hai bisogno di tracciare punti separati o una superficie? In che formato sono i dati? Suggerimento: puoi separare i tuoi punti in base alla categoria e tracciare ciascuna categoria da sola? 'GatherBy' potrebbe essere utile. – Szabolcs