docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution uses Plotly.js trace array management APIs to insert, remove, reorder, and stream data in-place without full redraws. The focus is on correct function choices, index handling (including negative indices), and use of windowed streaming.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Single init",
"description": "Initial render uses Plotly.newPlot (or Plotly.react once) and subsequent operations reuse the existing graph div instead of rebuilding for each change.",
"max_score": 10
},
{
"name": "Indexed add",
"description": "Adds new traces with Plotly.addTraces using an explicit insertion index (including 0) so existing traces keep their axis links and ordering.",
"max_score": 20
},
{
"name": "Negative delete",
"description": "Removes traces via Plotly.deleteTraces and demonstrates support for negative indices to drop the last trace without disturbing others.",
"max_score": 15
},
{
"name": "Reorder move",
"description": "Reorders traces using Plotly.moveTraces to move the last trace to the first position while preserving data and names.",
"max_score": 20
},
{
"name": "Windowed stream",
"description": "Streams new x/y points into targeted traces with Plotly.extendTraces (or Plotly.prependTraces when appropriate) and applies the maxPoints argument to enforce sliding-window history.",
"max_score": 25
},
{
"name": "Targeted updates",
"description": "Supplies per-trace index arrays to add/delete/move/stream calls so only intended traces are changed, avoiding bulk restyle or redraw paths.",
"max_score": 10
}
]
}