Tengo un conjunto de datos con etiquetas que me gustaría trazar con puntos coloreados de acuerdo con su etiqueta. ¿Hay una forma simple de obtener el número de línea actual dentro de la gráfica, para poder determinar a qué categoría pertenece el punto?Dibujo para colorear en Mathematica según las etiquetas
Entiendo que x,y,z
son las coordenadas de los datos graficados, pero no ayuda con las etiquetas externas.
Esto es bastante feo y funciona solo en el conjunto de datos ordenados con distribución regular.
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]]
]
]
]
Resultado esperado:
¿Dónde están las etiquetas en el conjunto de datos? Describa la estructura –
las etiquetas son cadenas, podría reemplazarse por números o colores RGB, en realidad no importa – Tombart
La pregunta aún no está del todo clara, un conjunto de datos de muestra sería bueno. ¿Necesitas trazar puntos separados o una superficie? ¿En qué formato están los datos? Sugerencia: ¿Puede separar sus puntos según la categoría y trazar cada categoría por sí mismo? 'GatherBy' podría ser útil. – Szabolcs