mui-x icon indicating copy to clipboard operation
mui-x copied to clipboard

[charts] Refine overview page

Open noraleonte opened this issue 8 months ago • 5 comments

Figma design Prototype

noraleonte avatar Apr 18 '25 15:04 noraleonte

Thanks for adding a type label to the PR! 👍

github-actions[bot] avatar Apr 18 '25 15:04 github-actions[bot]

Deploy preview: https://deploy-preview-17447--material-ui-x.netlify.app/

Updated pages:

Bundle size report

Total Size Change: 0B(0.00%) - Total Gzip Change: 🔺+61B(0.00%) Files: 122 total (0 added, 0 removed, 27 changed)

Show details for 100 more bundles (22 more not shown)

@mui/x-chartsparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts-proparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-charts-pro/BarChartProparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-charts-pro/ChartContainerProparsed: 0B(0.00%) gzip: 🔺+4B(+0.01%) @mui/x-charts-pro/ChartDataProviderProparsed: 0B(0.00%) gzip: 🔺+3B(+0.01%) @mui/x-charts-pro/ChartsToolbarProparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts-pro/ChartZoomSliderparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts-pro/FunnelChartparsed: 0B(0.00%) gzip: 🔺+1B(0.00%) @mui/x-charts-pro/Heatmapparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-charts-pro/LineChartProparsed: 0B(0.00%) gzip: 🔺+3B(0.00%) @mui/x-charts-pro/PieChartProparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-charts-pro/RadarChartProparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts-pro/ScatterChartProparsed: 0B(0.00%) gzip: 🔺+1B(0.00%) @mui/x-charts/BarChartparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartContainerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartDataProviderparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsAxisparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsAxisHighlightparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsClipPathparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsGridparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsLabelparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsLegendparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsLocalizationProviderparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsOverlayparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsReferenceLineparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsSurfaceparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsTextparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsTooltipparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsXAxisparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ChartsYAxisparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/Gaugeparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/LineChartparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/PieChartparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/RadarChartparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/ScatterChartparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/SparkLineChartparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-charts/Toolbarparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-data-gridparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-data-grid-premiumparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-data-grid-premium/DataGridPremiumparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-data-grid-proparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-data-grid-pro/DataGridProparsed: 0B(0.00%) gzip: 🔺+3B(0.00%) @mui/x-data-grid/DataGridparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickersparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-proparsed: 0B(0.00%) gzip: 🔺+4B(0.00%) @mui/x-date-pickers-pro/AdapterDateFnsparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/AdapterDateFnsJalaliparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/AdapterDayjsparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/AdapterLuxonparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/AdapterMomentparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/AdapterMomentHijriparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/AdapterMomentJalaaliparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/DateRangeCalendarparsed: 0B(0.00%) gzip: 🔺+2B(+0.01%) @mui/x-date-pickers-pro/DateRangePickerparsed: 0B(0.00%) gzip: 🔺+4B(+0.01%) @mui/x-date-pickers-pro/DateRangePickerDayparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/DateRangePickerDay2parsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/DateTimeRangePickerparsed: 0B(0.00%) gzip: 🔺+3B(0.00%) @mui/x-date-pickers-pro/DesktopDateRangePickerparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-date-pickers-pro/DesktopDateTimeRangePickerparsed: 0B(0.00%) gzip: 🔺+3B(+0.01%) @mui/x-date-pickers-pro/DesktopTimeRangePickerparsed: 0B(0.00%) gzip: 🔺+2B(0.00%) @mui/x-date-pickers-pro/LocalizationProviderparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/MobileDateRangePickerparsed: 0B(0.00%) gzip: 🔺+3B(+0.01%) @mui/x-date-pickers-pro/MobileDateTimeRangePickerparsed: 0B(0.00%) gzip: 🔺+3B(+0.01%) @mui/x-date-pickers-pro/MobileTimeRangePickerparsed: 0B(0.00%) gzip: 🔺+1B(0.00%) @mui/x-date-pickers-pro/MultiInputDateRangeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/MultiInputDateTimeRangeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/MultiInputTimeRangeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/PickersRangeCalendarHeaderparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/SingleInputDateRangeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/SingleInputDateTimeRangeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/SingleInputTimeRangeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers-pro/StaticDateRangePickerparsed: 0B(0.00%) gzip: 🔺+2B(+0.01%) @mui/x-date-pickers-pro/TimeRangePickerparsed: 0B(0.00%) gzip: 🔺+1B(0.00%) @mui/x-date-pickers/AdapterDateFnsparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterDateFnsBaseparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterDateFnsJalaliparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterDayjsparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterLuxonparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterMomentparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterMomentHijriparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/AdapterMomentJalaaliparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DateCalendarparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DateFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DatePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DateTimeFieldparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DateTimePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DayCalendarSkeletonparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DesktopDatePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DesktopDateTimePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DesktopTimePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/DigitalClockparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/LocalizationProviderparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/MobileDatePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/MobileDateTimePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/MobileTimePickerparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/MonthCalendarparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/MultiSectionDigitalClockparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/PickerDay2parsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/PickersActionBarparsed: 0B(0.00%) gzip: 0B(0.00%) @mui/x-date-pickers/PickersCalendarHeaderparsed: 0B(0.00%) gzip: 0B(0.00%)

Details of bundle changes

Generated by :no_entry_sign: dangerJS against c47a51ecf196fba44b0c9a7ad0311ddf57c5e249

mui-bot avatar Apr 18 '25 16:04 mui-bot

CodSpeed Performance Report

Merging #17447 will not alter performance

Comparing noraleonte:refine-charts-overview-page (c47a51e) with master (c4abca2)

Summary

✅ 9 untouched benchmarks

codspeed-hq[bot] avatar Apr 18 '25 16:04 codspeed-hq[bot]

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar May 08 '25 13:05 github-actions[bot]

It feels a bit weird that we have these layout shifts as we define different charts. Can we make it so that there aren't any shifts?

https://github.com/user-attachments/assets/4ff800d5-5f18-4598-851a-35ace64c2072

bernardobelchior avatar Jun 16 '25 14:06 bernardobelchior

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Jun 18 '25 09:06 github-actions[bot]

@prakhargupta1 I did my best on wording for the different description, but I'm neither a salesman, or a native speaker, so feel free to improve or completely replace them

alexfauquette avatar Jun 20 '25 13:06 alexfauquette

Color transition feels odd here:

https://github.com/user-attachments/assets/47ee6097-6cfa-400d-a713-b6793782e602

Same here, it might be easier to showcase the features if we don't change the colors at all (use gray scale) or simply use an "on brand" mutter palette (eg, light blue to blue)

https://github.com/user-attachments/assets/18980325-014b-4bbf-8e8a-c851fae3165c

Is there a way we can get rid of the scrollbar here?

Screenshot 2025-06-23 at 15 04 21

JCQuintas avatar Jun 23 '25 13:06 JCQuintas

We need a slightly larger Y axis in this example:

image

bernardobelchior avatar Jun 24 '25 07:06 bernardobelchior

We need a slightly larger Y axis in this example:

image

Or we can skip the unit in the axis as it's there in the tooltip.

prakhargupta1 avatar Jun 24 '25 07:06 prakhargupta1

We need a slightly larger Y axis in this example:

image

Or we can skip the unit in the axis as it's there in the tooltip.

Processor density is the chart title. The axis label should be just "transistors/mm2"

JCQuintas avatar Jun 24 '25 07:06 JCQuintas

Some charts have a title, some other don't. Should we add titles to all of them? They feel more complete. That way we can also remove some axis titles.

bernardobelchior avatar Jun 24 '25 12:06 bernardobelchior

Sorry, just noticed this, but shouldn't we align the left sections with the titles to the top?

Screenshot 2025-06-30 at 15 17 58 Screenshot 2025-06-30 at 15 18 22

JCQuintas avatar Jun 30 '25 13:06 JCQuintas

I removed the code example since they bring less value than they create visual disturbance

alexfauquette avatar Jul 01 '25 06:07 alexfauquette

@alexfauquette should we merge this? No idea why the perf decreased though 😆

JCQuintas avatar Jul 01 '25 12:07 JCQuintas

@alexfauquette I pushed some small styling adjustments and leaving some more generic feedback here:

  1. Did we intentionally remove the effect that highlights and saturates the hovered section in this grid? image
  2. I think all the labels in all the charts could be adjusted to a=have a fontWeight: 400. They feel a bit too bolded right now image
  3. What do you think about displaying the individual chart demos in a layout like this: image It would give each chart more space and it's more flexible if we want to add more demos later. I woul even split some chart components and showcase them separately: i.e 1 demo for funnel chart, 1 for pyramid. Same for line and area charts Maybe making the scatter chart first in this demo (or selected by default) might look nice. It's a pretty impressive demo image
  4. This is a nitpick, but we could try adjusting the colors used in this chart to match the pokemons image image #7DAB53 , #FF8D16 , #4CB0EE
  5. I am not 100% happy with this main chart but I also can't figure out what to improve. I might circle back to it in a follow-up 😓 image

noraleonte avatar Jul 01 '25 14:07 noraleonte

Did we intentionally remove the effect that highlights and saturates the hovered section in this grid?

Yes, the main issue was the highlight demo that then get two hovers effect. A first one when entering the cell, and a second one when moving on items. Was not clear what is part of the library vs what is fancy UI

I think all the labels in all the charts could be adjusted to a=have a fontWeight: 400. They feel a bit too bolded right now

Ok, I will fix that :)

What do you think about displaying the individual chart demos in a layout like this:

I'm more inclined of having a selected number of feature that are visible out of the box. For en exhaustive showcase of the available charts, e will create a dedicated page like this one https://echarts.apache.org/examples/en/index.html#chart-type-line

The issue with the other display is you need to click on small buttons to see the demo. I want us to identify the most important feature and show them.

For example, a company was concerned we do not support mixing libe, bars, and others. Now it should be obvious thanks to the "Advanced Features: Multi axes and series" demo. And new commer just need to scroll to see it.

Maybe making the scatter chart first in this demo (or selected by default) might look nice. It's a pretty impressive demo

Good point. I will do it

This is a nitpick, but we could try adjusting the colors used in this chart to match the pokemons

I thought one day I will find something more interesting to display 🙃 But yeah lets go full on pockemon starter pack :rocket:

I am not 100% happy with this main chart but I also can't figure out what to improve. I might circle back to it in a follow-up 😓

I could subsample the data points to avoid those massive pick which correspond to monthly download (probably dependabot)

alexfauquette avatar Jul 01 '25 14:07 alexfauquette

For some devices (Surface Pro 7) the pie and radar charts look off. While these devices are rare, should we still fix it?

Screenshot 2025-07-02 at 11 44 08 AM

prakhargupta1 avatar Jul 02 '25 06:07 prakhargupta1

The heatmap hover seems a bit weird because it's losing the border radius. Should we keep it when hovering?

https://github.com/user-attachments/assets/ddad9646-3a5b-40a7-b915-eb7e243f3f72


I didn't realize these were clickable. Should we make it clearer? E.g., color change on hover, and maybe show the active state with a different color?

https://github.com/user-attachments/assets/cc21e025-fc92-4a61-b6b4-5b1ea3774de4


The space between the zoom buttons and the export button seems too big. We used to have a divider, but if we don't want it should we apply display: none to it so that the spacing is uniformo?

image

This section seems a bit weird to me:

image

The stacking section already has highlighting. Also, the toggle group makes me feel like highlighting is the opposite of stacking, which it isn't. Should we remove the toggle group altogether since the stacking section already has highlighting?


The border radius of the button should be 4px smaller than the toggle group because the padding is 4px.

Currently:

image

Button with 8px border-radius:

image

The scatter chart example (and the others in this section) are missing the translucent tooltip of the other examples:

image image

The pie chart example is actually a donut chart. While it's clear to us that a donut chart is a specific case of the more general pie chart, I'm not sure if it's so clear to other people. Not a big deal, just wanted to make sure we're aware that it might be confusing.

image

bernardobelchior avatar Jul 02 '25 13:07 bernardobelchior