TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What's the best charting library for customer-facing dashboards?

122 点作者 rogansage大约 1 年前
Done some research and think chart.js seems like a great option. D3 seems powerful but might be complicated. Looking for simple + powerful, but maybe these are mutually exclusive... any advice?

33 条评论

kfor大约 1 年前
I like Vega-Lite: <a href="https:&#x2F;&#x2F;vega.github.io&#x2F;vega-lite&#x2F;" rel="nofollow">https:&#x2F;&#x2F;vega.github.io&#x2F;vega-lite&#x2F;</a><p>It’s built by folks from the same lab as D3, but designed as “a higher-level visual specification language on top of D3” [<a href="https:&#x2F;&#x2F;vega.github.io&#x2F;vega&#x2F;about&#x2F;vega-and-d3&#x2F;" rel="nofollow">https:&#x2F;&#x2F;vega.github.io&#x2F;vega&#x2F;about&#x2F;vega-and-d3&#x2F;</a>]<p>My favorite way to prototype a dashboard is to use Streamlit to lay things out and serve it and then use Altair [<a href="https:&#x2F;&#x2F;altair-viz.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;altair-viz.github.io&#x2F;</a>] to generate the Vega-Lite plots in Python. Then if you need to move to something besides Python to productionize, you can produce the same Vega-Lite definitions using the framework of your choice.
评论 #40200661 未加载
评论 #40200475 未加载
snide大约 1 年前
I&#x27;ve messed with a few. I really like Apache Echarts if you&#x27;re looking for an all-in-one-can-do-anything solution with a good license. The downsides are that the docs can sometimes be a little obtuse. There are adapters for almost every front-end at this point.<p>Nivo is a much simpler system that is styled by default and works much easier with React. If you&#x27;re not doing complicated charts, it&#x27;s my goto for the &quot;I just want a nice line&#x2F;pie&#x2F;bar chart&quot;.
评论 #40200080 未加载
评论 #40199280 未加载
评论 #40198957 未加载
评论 #40199788 未加载
评论 #40198729 未加载
评论 #40199607 未加载
ushercakes大约 1 年前
<a href="https:&#x2F;&#x2F;www.chartjs.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.chartjs.org&#x2F;</a><p>It&#x27;s pretty easy to configure and understand. It&#x27;s the 80&#x2F;20 principal of charts, it is 80% of D3 functionality for 20% the effort.
评论 #40199509 未加载
评论 #40200455 未加载
评论 #40199834 未加载
评论 #40201226 未加载
评论 #40199513 未加载
beingflo大约 1 年前
I really enjoy using Observable Plot (<a href="https:&#x2F;&#x2F;observablehq.com&#x2F;plot&#x2F;" rel="nofollow">https:&#x2F;&#x2F;observablehq.com&#x2F;plot&#x2F;</a>). Made by the author of D3 but way simpler to use.
评论 #40200566 未加载
anchen976大约 1 年前
We use highcharts to power most of our charting (we&#x27;re an embedded analytics platform) and switched over from from chart.js<p>It&#x27;s fairly powerful but also looks more polished out of the box. Some limitations on styling but that depends on your application&#x2F;use case.
评论 #40199559 未加载
评论 #40200450 未加载
评论 #40200007 未加载
评论 #40228575 未加载
xbpx大约 1 年前
Plotly offers more power and flexibility than chart.js and provides a much simpler API than D3 (it has D3 and webgl renderers). The ecosystem is broad and includes React, Angular and other wrappers and language-interfaces for Python, Rust, Go, Scala and many others (incl Common Lisp).<p>If you start plotting a lot of data it can grow with you since it supports typed arrays and webgl rendering without undue boilerplate.<p>Disclaimer... I work for Plotly
评论 #40209440 未加载
tomjakubowski大约 1 年前
Try Perspective, especially if you want users to be able to interact with the visualizations and update them - including re-aggregating the data <a href="https:&#x2F;&#x2F;perspective.finos.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;perspective.finos.org&#x2F;</a>
siamese_puff大约 1 年前
As someone who has recently been deep diving D3 for fun, I will give you my opinion.<p>D3 is the king of data visualization written by Mike Bostock, a creative comp sci dude with incredible data viz and programming skills (love ya Mike)<p>The initial learning curve is kinda steep, but in reality it’s actually a really logical setup, you just need to build a few mental models. Without a doubt, I would pick D3. Top charting libs use D3 under the hood. It’s so god damn flexible you can build whatever you want.<p>Study d3indepth.com for a couple weeks, write a lot of code and watch some YouTube videos. The books are usually meh on this subject and outdated. Mike started Observable to make this passion of his profitable. It’s like Jupiter notebooks for visualizations using D3.<p>I’ve been wanting to write more and use visualizations to strengthen my writing and I’m picking a mix of D3 and standard JS&#x2F;HTML to do it. Very satisfying
评论 #40199714 未加载
评论 #40200587 未加载
评论 #40200959 未加载
TN1ck大约 1 年前
If you need really custom charts and use react, I can recommend Visx. It’s a small wrapper around d3, that doesn’t really try to create their own abstractions, but mostly uses d3 conventions.<p>We use them for all our charting needs (quite a bit!) at re-cap.com.
pzo大约 1 年前
Another alternative - I haven&#x27;t tried this but bookmarked that one:<p><a href="https:&#x2F;&#x2F;nivo.rocks" rel="nofollow">https:&#x2F;&#x2F;nivo.rocks</a> (<a href="https:&#x2F;&#x2F;github.com&#x2F;plouc&#x2F;nivo">https:&#x2F;&#x2F;github.com&#x2F;plouc&#x2F;nivo</a>)
MattSWilliamson大约 1 年前
I&#x27;d recommend Vizzly: <a href="https:&#x2F;&#x2F;www.vizzly.co">https:&#x2F;&#x2F;www.vizzly.co</a>.<p>It&#x27;s a low-code solution for customer-facing analytics but is super flexible and extensible with code. Embedding is available in React or Vanilla JS (no iFrames). You can build dashboards programmatically or with the no-code editor.<p>The backend query engine is also pretty powerful; performant and copes well with complex customer data structures.
jareklupinski大约 1 年前
Whichever one looks best with the rest of your dashboard :)<p>unless you specifically need to handle &gt;100(0) data points, then only uplot or charts js will be performant (for free)
marban大约 1 年前
<a href="https:&#x2F;&#x2F;js.cytoscape.org" rel="nofollow">https:&#x2F;&#x2F;js.cytoscape.org</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;apexcharts&#x2F;apexcharts.js&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;apexcharts&#x2F;apexcharts.js&#x2F;</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;andrewcourtice&#x2F;ripl">https:&#x2F;&#x2F;github.com&#x2F;andrewcourtice&#x2F;ripl</a><p><a href="https:&#x2F;&#x2F;unovis.dev" rel="nofollow">https:&#x2F;&#x2F;unovis.dev</a>
joewils大约 1 年前
If print friendly reports are a requirement, I&#x27;d go with QuickChart (<a href="https:&#x2F;&#x2F;quickchart.io" rel="nofollow">https:&#x2F;&#x2F;quickchart.io</a>.)<p>Static charts similar to chart.js, but without all the javascript. I&#x27;ve found static charts are much easier to work with once print CSS layout becomes a requirement.
justincarter大约 1 年前
I have used d3 for a few years now and with ChatGPT I find it at least 50% easier to set it up and troubleshoot issues.
farseer大约 1 年前
If you have millions of data points and require real time performance then go for a paid solution like SciChart: <a href="https:&#x2F;&#x2F;www.scichart.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.scichart.com&#x2F;</a>
nickzelei大约 1 年前
Chartjs looks great, but I&#x27;ve never used it so can&#x27;t recommend personally. I&#x27;ve used <a href="https:&#x2F;&#x2F;recharts.org" rel="nofollow">https:&#x2F;&#x2F;recharts.org</a> a lot with success.
hughess大约 1 年前
We use echarts at <a href="https:&#x2F;&#x2F;evidence.dev">https:&#x2F;&#x2F;evidence.dev</a> and have been quite happy with it. We do a lot of embedded analytics and it&#x27;s worked well for us.
tommiegannert大约 1 年前
Plotly is based on D3. Has both open-source version and paid option.<p><a href="https:&#x2F;&#x2F;plotly.com&#x2F;javascript&#x2F;" rel="nofollow">https:&#x2F;&#x2F;plotly.com&#x2F;javascript&#x2F;</a>
itomato大约 1 年前
Shout out to rrdtool if your criteria for best includes maturity
sprash大约 1 年前
Not powerful but extremely simple, especially if you want to avoid JavaScript at all cost:<p><a href="https:&#x2F;&#x2F;chartscss.org" rel="nofollow">https:&#x2F;&#x2F;chartscss.org</a>
ilamparithi大约 1 年前
I used Apex Charts recently with VueJS. Happy with the exhaustive configuration options available for each charts. It worked well for my use case.
klysm大约 1 年前
ECharts is pretty good
champdebloom大约 1 年前
If you&#x27;re using react, I really like Tremor: <a href="https:&#x2F;&#x2F;www.tremor.so&#x2F;">https:&#x2F;&#x2F;www.tremor.so&#x2F;</a>
ciscoriordan大约 1 年前
AG Charts is in a simple&#x2F;powerful sweet spot.
pob944大约 1 年前
for SVG chart try: <a href="https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;next-chartist" rel="nofollow">https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;next-chartist</a>
ok1984大约 1 年前
Did you consider Fusion Charts?
slake大约 1 年前
Apache Echarts. You run into constraints with most others after a point.
devolymp大约 1 年前
We used Recharts to build our own opinionated charts at tremor.so
gear54rus大约 1 年前
c3 is another built-on-top-of-d3 thingie: <a href="https:&#x2F;&#x2F;c3js.org&#x2F;examples.html" rel="nofollow">https:&#x2F;&#x2F;c3js.org&#x2F;examples.html</a>
PaywallBuster大约 1 年前
what&#x27;s the closest you can get to Grafana like looking?
_boffin_大约 1 年前
There are a lot of fantastic libraries out there that can work. Best? How do you define that?
url00大约 1 年前
Honestly, ChatGPT + D3 has been great for me. But YMMV of course.