Chart Picker
Recommend the best visualization or chart type for a given dataset.
Workflow
- Classify variables — For each column/field in the dataset, determine whether it is numeric or categorical. Dates and timestamps count as ordered numeric.
- Count variables by type and note characteristics:
- How many numeric variables? How many categorical?
- Is there an ordering (e.g., time series)?
- How many data points? (few ≈ < 30, many ≈ 30+)
- Are categorical groups nested or subgrouped?
- Is the data an adjacency/relationship structure (e.g., flows, networks)?
- Walk the decision tree below to find matching chart types.
- Recommend 1-3 charts with a one-sentence rationale for each. Prefer the first option listed when multiple charts fit equally well.
- If the dataset characteristics are ambiguous, ask the user a clarifying question before recommending.
Decision Tree
Numeric
One Numeric Variable
- Few data points → Scatter Plot, Histogram, Box Plot
- Many data points → Density Plot, Scatter with Marginal Points, 2D Density Plot
Two Numeric Variables
- Not ordered → Scatter Plot, Histogram, Box Plot
- Ordered (e.g., time series) → Area Plot, Line Plot, Connected Scatter Plot
Three Numeric Variables
- Not ordered → Bubble Plot, 3D Scatter or Surface, Violin Plot, Box Plot
- Ordered → Bubble Plot, 3D Scatter or Surface, Violin Plot, Box Plot
Several Numeric Variables
- Not ordered → Correlogram
- Ordered → Line Plot, Area (Small Multiple), Streamgraph, Stacked Area Plot
Summary Views (many numeric variables)
Ridgeline, Violin Plot, Box Plot, Dendrogram, Heatmap, PCA
Categoric
One Categorical Variable
Bar Plot, Lollipop, Waffle, Word Cloud, Doughnut, Pie, Treemap, Circular Packing
Two or More Categorical Variables
- Subgroup → Grouped Bar Plot, Stacked Bar Plot, Lollipop, Heatmap, Parallel Plot, Spider Plot, Grouped Scatter
- Nested → Treemap, Circular Packing, Sunburst, Dendrogram, Bar Plot
- Two independent lists → Venn Diagram
Adjacency (relationships / flows)
Network, Chord, Arc, Sankey, Heatmap
Num & Cat (mixed numeric + categorical)
One Numeric, One Categorical
- One observation per group → Barplot, Lollipop, Pie, Doughnut, Wordcloud, Waffle, Circular Packing, Treemap
- Several observations per group → Violin, Boxplot
Several Categorical, One Numeric
- Nested → Barplot, Dendrogram, Sunburst, Circular Packing, Treemap
- Subgroup
- One observation per group → Barplot, Lollipop, Grouped Scatter, Heatmap, Grouped Bar Plot, Stacked Bar Plot, Parallel Plot, Spider Plot, Sankey Diagram
- Several observations per group → Violin, Boxplot
One Categorical, Several Numeric
- No order → Grouped Scatter, 2D Density, Violin, Boxplot, PCA, Correlogram
- A numeric is ordered
- Multiple observations per group → Area, Stacked Area, Streamgraph, Line Plot, Connected Scatter
- One value per group → Grouped Scatter, Heatmap, Lollipop, Grouped Bar Plot, Stacked Bar Plot, Parallel Plot, Spider Plot, Sankey Diagram
Adjacency (relationships / flows with weights)
Network, Chord, Arc, Sankey, Heatmap
Tips
- Time series data (date/dateHour dimension + one metric) → Line Plot or Area Plot is almost always the best choice.
- Top-N rankings (e.g., top pages by views) → Horizontal Bar Plot or Lollipop.
- Part-of-whole (e.g., traffic by channel) → Stacked Bar Plot, Treemap, or Pie/Doughnut (only if ≤ 6 slices).
- Comparison across groups (e.g., metrics by device category) → Grouped Bar Plot or Radar/Spider.
- Distribution of a single metric → Histogram, Density Plot, or Box Plot.
- Correlation between two metrics → Scatter Plot.
- When in doubt between similar charts, prefer the simpler one.