Motivation Creating a chart in Superset currently requires users to go through the full Explore workflow. This process is powerful, but can be cumbersome for casual users or embedded use cases where speed and simplicity are paramount.
There is growing interest in enabling more intuitive, lightweight ways to create and modify charts directly within a dashboard. Alot of people would agree on support for:
Embedding single charts with limited interactivity
Allowing some level of the Explore experience within a dashboard
Supporting inline chart creation for faster prototyping
The “Easy Charts” concept addresses these needs by enabling users to create simple, metric-driven charts directly within a dashboard, using an embedded popover with limited controls.
Proposed Change We propose to introduce an Easy Charts feature into dashboards, allowing users to quickly insert and configure simple charts without leaving the dashboard context , it will be a dashboard layout components along the lines of row , column & markup .
UX Flow User adds a new chart placeholder to a dashboard grid — an empty chart container with a + Add Chart button.
Clicking the button opens a popover chart builder UI with minimal controls:
Dataset selector
Visualization type selector (top bar)
Metric selector
GroupBy selector
Upon saving:
A new chart (slice) is saved to the backend
The chart renders inside the container
The chart can later be opened in full Explore for advanced editing
Optional: the chart container supports lightweight re-editing or swapping metrics/groupby values inline
Criteria for Inclusion Must work within dashboard edit mode
Minimal dependencies on Explore — avoid Redux and route-level dependencies
Charts created via Easy Charts are saved as normal slices for reuse
Should support a pluggable way to select viz types and datasets
Exclusions Full Explore control panel is out of scope
No drag-and-drop dimension/metric building (this would require a larger Explore refactor) (Basically the explore experience of having drag & drop metrics & dimensions , they will only be available through select dropdown in this flow)
No Advanced & Customised Controls such as color scheme & labels & padding & all kinds of control panel , this flow is trying to make it easy Chart creation
The Advanced controls will have some default values or a default form data, the users can edit it after the Easy Chart is created
Example Use Cases Casual users building simple dashboards without going through Explore
Embedded dashboards in SaaS apps where a product team wants to provide limited chart-building functionality
Rapid prototyping of new visualizations directly from dashboard view
New or Changed Public Interfaces New chart placeholder component in dashboard grid
New EasyChartPopover component
Possibly a new endpoint or API wrapper for lightweight slice creation
Reuse existing slice creation API under the hood
Will reuse existing chart rendering and control types infrastructure
Migration Plan and Compatibility Feature will be optional and opt-in
This is an example :
These are some of the mockups created by me:
This allows for rapid chart creations , feedbacks & saving on the time to find the chart from slices since the slices can have duplicate names , covering some of the painpoints faced by analytics teams between Non technical management & Data engineers
Existing dashboards are unaffected
Charts created with Easy Charts are fully compatible with the Explore view
Longer term: Easy Charts could become the basis for simplified chart authoring across Superset
Rejected Alternatives Embedding full Explore in dashboards: too heavy, complex state management
Forcing users to pre-create charts before placing them on dashboards: reduces agility and user empowerment
Comment From: rusackas
CC @kasiazjc
Comment From: rusackas
I'm all for this, but folks will probably want a bit more detail. For example: * When creating (or editing) a chart from the dashboard context, do you get the full set of controls as you would in the Chart Builder / Explore view? * If not, how do we decide what limitations / controls are in place for a given chart type, and how do we denote that in the chart control panel code?
Happy to put this up for a DISCUSS thread on the dev@ mailing list, but typically that'd be a step for the SIP author to take. Hit me up on Slack if you need help with any of this process.