View in #general on Slack
@Igor_Lukanin: Hi @Sebasstian and @Paul_Lee, I hope you’re doing great I was recently talking to @Javier about Cyndx user story with focus on Cyndx experience with Cube.js and the rest of tech stack. It looks like @Javier is evaluating different options for a charting library (criteria being chart types selection, themization support, different rendering engines support, events support, and surely performance), and they’d like to know more about your team’s experience with Nivo. May I ask to share anything about that? (thread)
I hope you can
@Sebasstian: Happy to answer any questions that you have. It’s a loaded topic so pointed questions help ensure that we answer correctly. I’m stepping away from the computer for a bit but will gladly answer when I get back
@Chris_Lonardo: I’ve been pretty happy with Nivo, the few times that I’ve used it (back when I worked in finance, their fast canvas renderers were great for real-time market depth monitors and other fast-moving data).
other libraries that I like:
• plotly.js (built on top of D3, well-supported, and 100% configurable via JSON!)
• ag-grid (it’s not just a grid! they have charts now too! I have found examples of people using this with cube.js, and implementing it for my app is on my list- ag-grid is the One True Grid, all other JS grids bow down)
• vega/vega-lite: these are lower-level, but you can really build anything under the sun with them. there’s a whole academic group supporting vega + related projects, they’re doing some very cool work
@Javier: Thanks for the quick reply. We do have a similar use case to Cyndx. We need to integrate dashboard/charts into an existing product(React based front-end) and we want to provide the flexibility for users to create their own charts under a controlled environment. We also need to support our mobile app as well and the ability to store the dashboards.
Regarding the charting libraries, we are looking at echarts vs nivo. We like echarts because of the large number of charts, great theme support, great rendering engine that support SVG and Canvas, events support and performance. Specially the fact that at run time you can select canvas/svg and select one or the other based on the device(mobile app/browser) and data size.
• Do you also have mobile apps? if so, how is your experience with Nivo on mobile applications?
• Do you use server side rendering for Nivo?
• Besides Nivo, which other options have you considered?
@Sebasstian: NIVO on mobile has been fine. Our webapp is responsive, and there was a bit of fine tuning needed for things such as axes.
No server side rendering on Nivo.
Chart.js was the main one we looked at. Every library is good at some things and bad at others. A huge plus for us on Nivo was the built in choropleths, calendars, etc. These charts often required more custom work from other libraries.
On the other hand the two major limitations we faced and had to do custom work for was dual axis charts, this should be basic but unfortunately not and then making the axis labels responsive. We had to customize algorithms to determine the angles based on the data present.
@Javier: Thank you very much for your reply, this is really helpful. :thank_you: