import { Grid } from "@mui/material"; import React from "react"; import Plot from "react-plotly.js"; const colors = [ "red", "blue", "green", "orange", "purple", "brown", "pink", "grey", "yellow", "cyan", ]; export default function EmbeddingPlot({ words, x, y, z }) { console.log(words); return ( <> { const color = colors[index % colors.length]; return { x: [0, word.embedding[x]], y: [0, word.embedding[y]], z: [0, word.embedding[z]], type: "scatter3d", mode: "lines+markers", line: { width: 6, }, marker: { size: 1, color: color, }, name: word.item, }; }), ...words.map((word, index) => { const color = colors[index % colors.length]; return { type: "cone", x: [word.embedding[x]], y: [word.embedding[y]], z: [word.embedding[z]], u: [word.embedding[x]], v: [word.embedding[y]], w: [word.embedding[z]], sizemode: "absolute", sizeref: 0.05, showscale: false, colorscale: [ [0, color], [1, color], ], }; }), ]} layout={{ title: "3D Plot of Vectors", scene: { xaxis: { title: "X Axis" }, yaxis: { title: "Y Axis" }, zaxis: { title: "Z Axis" }, }, autosize: true, }} style={{ width: "100%", height: "100%" }} /> ); }