Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace NVD3 with maintained charting library #7352

Closed
brylie opened this issue Apr 23, 2019 · 5 comments
Closed

Replace NVD3 with maintained charting library #7352

brylie opened this issue Apr 23, 2019 · 5 comments
Labels
enhancement:request Enhancement request submitted by anyone from the community inactive Inactive for >= 30 days

Comments

@brylie
Copy link
Contributor

brylie commented Apr 23, 2019

The NVD3 charting library, while having a nice API and default charts, is no longer actively maintained. Also, the internal structure of the NVD3 library means that each chart type is treated as distinct, so the developer API may be inconsistent or lacking across different chart types.

It may prove beneficial to replace NVD3 with a charting library that:

  • is actively maintained
  • provides a unified (perhaps data-centric) API across chart types

Describe alternatives you've considered
Alternatively, we could step-up involvement in NVD3 stewardship, perhaps even suggesting a more holistic library design.

There are several charting libraries to compare, including some Python charting libraries that output JavaScript charts (e.g. Bokeh).

Additional context
JavaScript charting ecosystem is somewhat fragmented, with several 'half-baked' charting libraries under varying degrees of maintenance. It would be beneficial for this project to adopt a library with holistic API design and an active stewardship model.

@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the label #enhancement to this issue, with a confidence of 0.86. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@issue-label-bot issue-label-bot bot added the enhancement:request Enhancement request submitted by anyone from the community label Apr 23, 2019
@brylie brylie changed the title Replace NVD3 with maintained Replace NVD3 with maintained charting library Apr 23, 2019
@stale
Copy link

stale bot commented Jun 22, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.

@stale stale bot added the inactive Inactive for >= 30 days label Jun 22, 2019
@mistercrunch
Copy link
Member

mistercrunch commented Jun 22, 2019

I haven't done a lot of research but eCharts is looking pretty good! Is a very important decision and we should involve the community. With the support for visualizations as plugins, you could image that eventually we could have different "plugin packs" that we'll get to choose from.

@stale stale bot removed the inactive Inactive for >= 30 days label Jun 22, 2019
@brylie
Copy link
Contributor Author

brylie commented Jun 22, 2019

For what it's worth, I was refactoring some sourcecode in the Redash repository related to preparing data for Plotly APIs. The goal was to improve the maintainability of the code, by reducing cognitive load.

My main take-away, from that review process and another open source where we are using Plotly, was that the visualization APIs that require the data to be "turned inside out" in order to fit the charting library generally leads to code that is difficult to grok and maintain.

It would be worth it to compare multiple aspects of the charting libraries, including developer ergonomics. Having worked with Seaborn, I see more clearly how a data-centric API can improve developer experience and encourage maintainable code.

@stale
Copy link

stale bot commented Aug 21, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.

@stale stale bot added the inactive Inactive for >= 30 days label Aug 21, 2019
@stale stale bot closed this as completed Aug 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement:request Enhancement request submitted by anyone from the community inactive Inactive for >= 30 days
Projects
None yet
Development

No branches or pull requests

2 participants