Skip to content

DAC Support for Pattern Encoding #6

Description

@arsalann

What problem are you trying to solve?

DAC has no support for pattern-based visual encoding such as dashed or dotted lines, or striped / hatched bar and area fills.

  • Current chart configuration does not expose per-series style controls for line stroke patterns or fill patterns.
  • Multi-series charts depend mostly on color to distinguish series.
  • This limits accessibility for colorblind users and reduces readability in grayscale, print, or low-contrast contexts.
  • There is no standard way in YAML or TSX to assign visual patterns to specific series.

Proposed solution

Add first-class per-series pattern styling for DAC chart widgets.

- name: Revenue vs Forecast
  type: chart
  chart: line
  sql: |
    SELECT month, actual_revenue, forecast_revenue
    FROM revenue_by_month
    ORDER BY month
  x: month
  y: [actual_revenue, forecast_revenue]
  seriesStyles:
    actual_revenue:
      lineStyle: solid
    forecast_revenue:
      lineStyle: dashed
- name: Regional Mix
  type: chart
  chart: bar
  sql: |
    SELECT region, current_share, prior_share
    FROM regional_mix
    ORDER BY current_share DESC
  x: region
  y: [current_share, prior_share]
  seriesStyles:
    current_share:
      fillStyle: solid
    prior_share:
      fillStyle: striped

Support should include:

  • line patterns such as solid, dashed, dotted
  • fill patterns such as solid, striped, hatched
  • per-series configuration in both YAML and TSX
  • correct rendering in chart legends and tooltips

Alternatives considered

  • Rely on color alone — insufficient for accessibility and weak in grayscale / print.
  • Explain encodings in surrounding text only — helps, but does not solve in-chart differentiation.
  • Use separate charts for each series — increases layout cost and makes comparison harder.
  • Fork DAC locally to add custom styling — works, but creates maintenance and upgrade drift.

Additional context

Pattern-based encodings are a standard accessibility technique for data visualization. They are especially useful for multi-series comparisons, forecast-vs-actual charts, grouped bars, and any dashboard that may be viewed in grayscale, printed, or by users who cannot reliably distinguish colors. This would make DAC charts more robust without changing default behavior for existing dashboards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions