EVALUATION ONLY - Labeling Instructions
(DO NOT USE THIS INSTRUCTION DOCUMENT FOR PRODUCTION PROJECT)
Objective
IMPORTANT UPDATE AS OF JULY 12TH:
We are no longer using an upload script. You will be copy pasting the contents of the
scripts and HTML file into the Labelbox editor.
This is a Python evaluation focused on data visualization and storytelling: given a type of plot
(dashboard, Sankey diagram, etc.), your task is to recreate a similar visual that tells the same
story using a dummy dataset and Python scripts for data generation and visualization. You will
also write an input prompt that would naturally produce the visual you created.
Walkthrough Video: [Evaluation Labeling Instructions] Python Visualization - Jul Update
Labeling Steps
1. Find and Analyze the
Dashboard/Graph
The data row begins with searching the web for a reference image of a business-related
dashboard or graph that matches the chart description you are given. For example, you may
search for something such as “dashboard for business software”.
When you find a reference image, you will need to obtain the direct URL to the image itself. You
can do this by right-clicking on the image and selecting “Copy Image Address”.
Carefully inspect your reference image. Your objective is to creatively expand on this reference
image, capturing the core features while developing datasets and visualizations that reflect
real-world situations.
2. Generate a Prompt
Write a simple user-style question or instruction that the reference image would answer. This
prompt frames the data story and helps guide your synthetic data generation:
● The prompt should not be very specific and can be open-ended.
● The prompt should not specify a lot of formatting requirements.
● The prompt must be natural and practical, reflecting the kind of questions a user might
realistically ask in a real-world scenario.
Prompt Examples
Below are some examples of good prompts along with the story and visuals related to them.
These are for inspiration only and you should not directly use them:
Prompt Topic Story & Visuals
“Show how global electric-vehicle (EV) adoption • Multi-line time-series of unit sales by region
has evolved since 2015 and predict the next five • Stacked area of battery chemistries
years.” • Sankey of supply-chain flows
• Heat-map of EV market-share by country
“Analyze hospital network capacity vs. • Dual-axis line (ICU beds vs. cases)
infectious-disease outbreaks during winter • Correlation heat-map of symptoms & test positivity
seasons.” • Box-whisker of LOS by diagnosis group
“Contrast same-day vs. two-day e-commerce • Violin plot of delivery times
delivery performance during holiday peaks.” • Pareto of top delay causes
• Time-series forecast of warehouse backlog
“Track sustainable-aviation-fuel (SAF) usage • Waterfall of CO₂ reductions
across the airline industry and project carbon • Treemap of SAF feedstocks
savings.” • Monte Carlo projection of carbon offset targets
“Visualise smart-city energy flows between • Chord diagram of kWh transfers
residential, commercial, and EV charging nodes.” • Area chart of renewables vs. grid demand
• Animated map of substation loads by hour
“Evaluate multi-modal public-transport • Box-plot of lateness by mode (bus, metro, rail)
punctuality and rider sentiment in megacities.” • Word-cloud & sentiment drill-down
• Gantt of headways over 24 h
“Benchmark fintech fraud-detection algorithms • ROC curves for each model
across geographies and transaction types.” • Confusion-matrix heat-maps
• KPI bullet charts for latency & cost
“Map food-delivery fleet efficiency vs. weather • Scatter of drop-offs vs. travel km
impacts in dense urban zones.” • Histogram of idle minutes per driver
• Isochrone map overlaying rainfall intensity
“Identify semiconductor-fab yield losses and • Stacked bar of defect classes
correlate with equipment maintenance logs.” • Control chart of daily yields
• Network graph of tool dependencies
“Forecast coastal-city real-estate risk under • Scenario fan-chart of property values
sea-level-rise scenarios to 2100.” • Choropleth of flood exposure zones
• Animated slider of shoreline retreat
3. Generate Data To Tell the Business
Story
Write a data creation script within the scripts folder (../scripts/data_gen.py) that:
● Uses only pandas and numpy.
● Generates at least two datasets (as DataFrames or Numpy arrays) into the data folder,
such as (../data/sales_data.csv and ../data/local_sales_data.csv)
● Tells a similar story based on your reference image, reflects real-world situations, and
contains enough detail to fully recreate the image.
4. Recreate the Visualization
Write a visualization script within the scripts folder (../scripts/[Link]) that:
● Uses only pandas, numpy, and plotly (library is known as dash)
○ You can use the pip install dash command to install Plotly Dash.
● Reads the generated files from your data creation script.
● Generates one HTML file of an interactive dashboard into the outputs folder
(../outputs/golden_image.html) using Plotly's HTML export method.
● Works and can be interacted with properly.
● Contains visuals that adhere to the following style guidelines:
○ Typography: Titles MUST be bold, and properly formatted legends and labels.
○ Aesthetics: Organize layout using visual containers (e.g., cards, sections). Use
depth thoughtfully via shadows or gradients to create visual hierarchy. We do not
want flat images.
○ Storytelling: Establish a clear narrative flow: start with high-level KPIs, then drill into
details. Data elements should feel connected and purposeful, not isolated or random.
○ Complexity: Dashboards must follow the level of complexity found here.
Dashboard complexity should match the visual density and insight variety shown
in the provided reference. Avoid oversimplification.
○ Layout: No overlapping elements or cut-off text. Ensure consistent padding,
margin, and spacing between plots.
○ Legends: If a legend is present, ensure it is clearly displayed and boxed if
appropriate. Use well-organized legend placement with appropriate spacing.
○ Color Palette: Use a professional and aesthetically pleasing color scheme. The
color palette should complement the data and enhance readability.
○ Overall Quality: The final plot should be polished and suitable for a presentation
or publication.
5. Upload Files
This step is very important to save your work. On the left side panel on the Labelbox platform,
you will be copy pasting the contents of the data generation script, visualization script, and
generated HTML file. Note that you may want to open the HTML file in your code editor in order
to be able to copy paste the actual contents of the file. You will not need to upload the
generated .csv/.npy files, as these can be generated from your data generation script.
Folder Structure Overview
None
<data_row_id>/
├── data/
│ ├── [Link]
│ ├── [Link]
│ └── [Link] # Generated .csv and/or npy files
│
├── scripts/
│ ├── data_gen.py # Data generation script
│ └── [Link] # Visualization script
│
├── outputs/
│ └── [Link] # Interactive html generated using [Link]
Best Practices
Please refer to this section to see examples of the level of complexity that is required for
dashboards.
Refer to this section for examples of the charts that you may encounter.
While searching for a reference image, here are some examples of charts you should be
pursuing versus not:
✅Positive examples
❌Negative examples
A full example is available here.