{
const d = dat;
const time = [],
classes = [],
viability = [],
cell_size = [],
text = [];
for (let i = 0; i < d.length; i++) {
let row = d[i];
time.push(row.time);
classes.push(row.class);
viability.push(row.viability);
cell_size.push(row.cell_size);
text.push(
"<b>" +
row.class +
"</b><br>time:" +
row.time.toLocaleString() +
"<br>viability:" +
row.viability +
"<br>cell size:" +
row.cell_size
);
}
var trace2 = {
x: time,
y: viability,
text: "Viability",
name: "Viability",
marker: {
size: cell_size,
sizeref: (2 * d3.max(cell_size)) / 17 ** 2,
sizemode: "area"
},
transforms: [{ type: "groupby", groups: classes }],
hovertext: text,
hoverinfo: "text",
mode: "lines+markers",
type: "scatter"
};
var traces = [trace2];
const div = DOM.element("div");
Plotly.newPlot(div, traces, {
width: width,
hovermode: "closest",
hoverlabel: { bgcolor: "#FFF" },
yaxis: { title: "Viability (%)" },
yaxis2: { title: "Cell Size (um)" }
});
return div;
}