amcharts / amcharts5

The newest, fastest, and most advanced amCharts charting library for JavaScript and TypeScript apps.
Other
355 stars 95 forks source link

Handling responsive design: updating JSON config after initiation #1751

Open flaming-cl opened 1 month ago

flaming-cl commented 1 month ago

We are handling desktop and mobile design for pie charts with V5 JSON config.

If possible, would you please let us know how to update the settings (layout) and the position of the piechart/legend, after initiated the chart?

horizontal vertical

CodePen (initiated with horizontal. Exploring a solution to change the chart to vertical and adjust the chart/legend position, when the window is resized to mobile size) https://codepen.io/flaming-cl/pen/dyxXRQX

martynasma commented 1 month ago

You may use a Responsive` theme: https://www.amcharts.com/docs/v5/concepts/responsive/

flaming-cl commented 3 weeks ago

https://www.amcharts.com/docs/v5/concepts/responsive/

Thanks @martynasma,

We are using itemContainer to customize our own legend. Do you know how I can get the itemContainer instance and set their x/y and update the width/height of the pieSeries?

responsive.addRule({
  relevant: am5themes_Responsive.widthM,
  applying: function() {
    chart.set("layout", root.verticalLayout);
   //  how to set legend item container
  },
});

Screenshot 2024-11-03 at 4 48 23 PM

codePen: https://codepen.io/flaming-cl/pen/dyxXRQX?editors=1010

martynasma commented 3 weeks ago
responsive.addRule({
  name: "Container",
  tags: ["legend", "item", "itemcontainer"],
  relevant: am5themes_Responsive.widthM,
  settings: {
    // ...
  }
});