Skip to content

Replace Apex charts with Apache eCharts - #2544

Open
ChrisPaulBennett wants to merge 22 commits into
cylc:masterfrom
ChrisPaulBennett:echarts-test
Open

Replace Apex charts with Apache eCharts#2544
ChrisPaulBennett wants to merge 22 commits into
cylc:masterfrom
ChrisPaulBennett:echarts-test

Conversation

@ChrisPaulBennett

@ChrisPaulBennett ChrisPaulBennett commented May 6, 2026

Copy link
Copy Markdown
Contributor

Apex Charts has changed it's licensing so we need to pivot to a different charting library.
Apache eCharts seems like a good fit for us. It uses the Apache 2.0 licence (https://www.apache.org/licenses/LICENSE-2.0.html).
This started of a play branch to see if it meets our requirements which has gone very well.
This PR closes #2256 and closes #2406

Check List

  • I have read CONTRIBUTING.md and added my name as a Code Contributor.
  • Contains logically grouped changes (else tidy your branch by rebase).
  • Does not contain off-topic changes (use other PRs for other changes).
  • Applied any dependency changes to both setup.cfg (and conda-environment.yml if present).
  • Tests are included (or explain why tests are not needed).
  • Changelog entry included if this is a change that can affect users
  • Cylc-Doc pull request opened if required at cylc/cylc-doc/pull/XXXX.
  • If this is a bug fix, PR should be raised against the relevant ?.?.x branch.

@ChrisPaulBennett ChrisPaulBennett self-assigned this May 6, 2026
@MetRonnie MetRonnie added this to the 2.x milestone May 6, 2026
@MetRonnie MetRonnie added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels May 18, 2026
@MetRonnie MetRonnie linked an issue May 27, 2026 that may be closed by this pull request
@MetRonnie MetRonnie added the analysis views Work pertaining to the analysis/gantt/etc views label May 27, 2026
@ChrisPaulBennett
ChrisPaulBennett marked this pull request as ready for review June 18, 2026 14:43
@ChrisPaulBennett
ChrisPaulBennett requested review from JAllen42, MetRonnie and oliver-sanders and removed request for JAllen42 and MetRonnie June 18, 2026 14:43
@ChrisPaulBennett ChrisPaulBennett mentioned this pull request Jul 1, 2026
8 tasks
Comment thread src/components/cylc/analysis/BoxPlot.vue Outdated
Comment thread src/components/cylc/analysis/TimeSeries.vue Outdated
Comment thread src/components/cylc/gantt/GanttChart.vue Outdated
Comment thread tests/unit/components/cylc/analysis/analysistimeseries.vue.spec.js Outdated
@samuel-denton

Copy link
Copy Markdown
Contributor

I've spent a while playing with this; mostly really good and proves the package can do the job.

  • Sometimes charts do not load and we get a blank page, it might be because the workflow in question has no data to display in that format, but in that case it needs to show 'No Data' or something like that.
  • I found it a bit confusing that with the analysis timeseries you get no data until you have selected a task to view. Obvious once I spotted it, but different from every other chart. I guess this is because trying to display all tasks by default would be too much data? If thats the case, when no tasks are selected, I think it needs to say 'No tasks selected' somewhere in the chart, or it should pick the first task by default or something. While this is the case, it was the same on the Apex chart, not a change in this PR.
  • It's also a bit confusing that it has it's own independent task filter under the general analysis view one. Again looks like this was the same before, not changed in this PR
image image
  • I think a bit more needs doing on dynamic resizing as the charts often ended up squished and unreadable:
image

There are a few other bits like some of the hover effect for overlapping colours on Gantt, the timeline on the timeseries etc. that might want a bit of polish but they work.

Looks good overall, just needs some playing with styles and defaults.

@samuel-denton samuel-denton left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy to approve this as is, the previous functionality has been replicated and the charts look good.

There are a few small outstanding issues that could be improved but they were present before this PR. Mostly related to letting a user know why there is nothing showing (No data, workflow not run, no task selected etc).

There are some style improvements that can be addressed in a follow up PR at some point, like the timeline on the time-series looked a bit nicer before, but functionality wise I think its good.

@samuel-denton

Copy link
Copy Markdown
Contributor
  • I think a bit more needs doing on dynamic resizing as the charts often ended up squished and unreadable:

I think this was caused by a slightly obscure bug, if you open the Gantt view while the window is very narrow, then maximise it again, the chart remains squished. I think this is unlikely to come up in practice, but should be fixable if we want with an additional width re-calculation after a resize event.

@ChrisPaulBennett

Copy link
Copy Markdown
Contributor Author

I'm going to action some of those points, as this is an easy place to do it.

@MetRonnie
MetRonnie removed the request for review from oliver-sanders July 23, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

analysis views Work pertaining to the analysis/gantt/etc views dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

apex charts: licence issues gantt: scrambled x-axis gantt: view goes blank with excessive scrolling

3 participants