Tôi có tập dữ liệu có nhãn mà tôi muốn vẽ bằng các điểm được tô màu theo nhãn của chúng. Có một cách đơn giản làm thế nào để có được số dòng hiện tại bên trong cốt truyện, để tôi có thể xác định loại nào hiện điểm thuộc về?Lô màu trong Mathematica theo nhãn
Tôi hiểu rằng x,y,z
là tọa độ của dữ liệu được vẽ, nhưng nó không giúp cho nhãn bên ngoài.
Điều này khá xấu và chỉ hoạt động trên bộ dữ liệu được sắp xếp với phân phối thường xuyên.
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]]
]
]
]
Kết quả mong đợi:
Đâu là những nhãn trong bộ dữ liệu của bạn? Xin vui lòng mô tả cấu trúc –
nhãn là chuỗi, nó có thể được thay thế bằng số hoặc màu RGB, nó không thực sự quan trọng – Tombart
Câu hỏi vẫn chưa hoàn toàn rõ ràng, một tập dữ liệu mẫu sẽ là tốt. Bạn có cần vẽ các điểm riêng biệt hoặc bề mặt không? Định dạng dữ liệu là gì? Đề xuất: Bạn có thể phân tách các điểm theo danh mục và tự vẽ từng danh mục không? 'GatherBy' có thể hữu ích. – Szabolcs