数据就在我们身边。我们用它来优化性能、提供服务和提高效率。然而,原始数字并不总是传递信息的最佳方式。如果您以视觉格式而不是文本格式呈现给他们,人们更有可能保留您提供给他们的任何数据。这使得图表成为共享信息不可或缺的工具。
JavaScript 提供了许多免费库,您可以使用它们在网站上创建图表。在这篇文章中,我们将创建一个最佳免费 JavaScript 图表库的列表,并简要概述其功能,以帮助您做出明智的选择。
当考虑在网站上绘制图表时,首先想到的库之一是 Chart.js。使用该库的两个最大优点是它非常容易学习并集成到您的网站中,并且它允许您创建八种常见类型的图表:折线图、条形图、雷达图、气泡图、散点图、面积图、饼图和极坐标图图表。您还可以在同一个图表上显示两种以上类型的图表。
由 Roseclad 制作的动画演示。
该库使用 HTML5 canvas 元素来渲染所有图表,并且这些图表默认是响应式的。这意味着它们将适应屏幕尺寸的变化。图表的不同方面也可以使用库提供的开箱即用方法进行动画处理。
Chartist.js 库是另一个易于使用的解决方案,适合那些想要借助 JavaScript 创建自己的图表的人。 Chart.js 和 Chartist.js 之间有一些相似之处,也有一些根本区别。
Ian Whitfield 的 Chartist 演示。
这个库是轻量级且响应灵敏的,就像 Chart.js 一样。它也很容易学习,并支持所有基本图表类型,如折线图、条形图、饼图等。该库没有任何您必须加载才能使图表工作的外部依赖项。
Chart.js 和 Chartist.js 之间的一个很大区别是后者使用 SVG 呈现其图表。所有图表都分为许多子类型。例如,您可以创建简单的折线图以及带有填充底层区域的折线图或双极折线图。
Chartist.js 严格专注于提供渲染图表的功能。这意味着您不会获得用于事件处理、显示标签等的内置功能。但是,您自己添加它们相对容易。
D3.js 库是数据驱动文档的缩写,是数据可视化领域的重量级库之一。您可以使用该库以您喜欢的任何方式直观地表示数据。这也包括标准图表类型。
Jahid Hssan 的 D3 演示。
该库的最大优势是您在创建任何图表时获得的强大功能和灵活性。该库允许您创建几乎任何您能想象到的东西来表示您的数据。您不限于常见的图表类型。该库混合使用 SVG、Canvas 和 HTML 等技术来创建任何视觉元素。
渲染方面如此大的灵活性意味着使用该库提供的所有功能将有一个陡峭的学习曲线。有大约 30 个模块和 1,000 多种方法可以帮助您完成工作。
有些人可能会对使用 D3.js 在其网站上创建图表感到兴奋,但他们可能会因陡峭的学习曲线而泄气。如果我告诉你这个问题有解决方案怎么办?
C3.js 库提供了一个中间立场,您创建的图表仍然在底层使用 D3.js,但您不必花费太多时间编写代码来执行此操作或学习每一个细节D3.js 库的。对于主要对基于 D3.js 创建图表感兴趣的人来说,这是一个很好的解决方案。
Beat Temperli 的 C3 演示。
使该库变得有用的三个功能是它的易用性、自定义选项以及您对呈现的图表的控制。该库基本上是 D3.js 的包装器,因此它完成了创建图表所需的所有繁重工作。
该库还为其呈现的每个元素提供自定义类,使您可以更轻松地提供自己的样式。最后,您可以使用相当多的回调来控制图表的行为,即使在渲染图表之后也是如此。
Frappe Charts 是一个令人惊叹的开源库,可帮助您轻松创建时尚且响应灵敏的图表。您无需加载任何额外的依赖项即可呈现图表。
Kamal Dev 的演示。
该库附带了许多内置图表类型,例如条形图、折线图、面积图、饼图和圆环图。您还可以创建一些基于百分比的图表,显示不同项目的份额,类似于饼图,但在条形图上而不是圆形上。您还可以创建热图图表,类似于 GitHub 显示的存储库贡献图表。
您会喜欢这个库的事情之一是它提供的定制范围。库附带的工具提示非常棒。您还可以通过标记不同的线条和区域来注释图表。有很多可用的配置选项,您甚至可以在渲染数据点后对其进行修改。
Plotly.js 也是一个免费的开源 JavaScript 库,具有扩展的功能列表。该库还包含 Python 和 R 模块,以防您想用这些语言绘制一些图表。
来自plotly的演示。
Plotly 构建于 D3.js 和 stackgl 之上。然而,与 D3 不同的是,Plotly 的开发人员特别专注于使其更容易使用并相当快速地绘制常见图表类型。这对于正在寻找多种不同图表类型的人来说是理想的选择。 Plotly 可以帮助您创建 40 种不同类型的图表,涵盖从基本折线图、条形图和散点图到直方图和二维密度图等统计图表的所有内容。
该库具有内置事件处理功能,可以处理单击、悬停和选择事件等。它还提供了许多其他配置选项和有用的功能,例如放大和缩小、平移、重置等。Plotly.js 允许您使图表可编辑或使用您自己的区域设置在标签中显示文本。
ApexCharts 将自己描述为一个现代 JavaScript 图表库,可使用简单的 API 构建交互式图表。使用该库创建图表实际上是一个简单的过程。您只需传递所有必需的数据,例如图表类型、标签和要绘制为具有键值对的对象的数据集,该库将负责渲染所有内容。
Reuben Prol 的演示。
该库的其他一些显着功能包括创建不同图表然后同步它们的能力。您对一张图表所做的更改将反映在另一张图表中。有许多选项可供您与图表交互。您可以放大和缩小、平移或上下滚动数据。
可用的图表类型包括折线图、条形图、饼图、圆环图、雷达图和烛台图等。您还可以将不同的图表类型混合在一起,例如显示相互重叠的条形图、折线图和面积图。还可以添加您自己的注释并动态更新图表数据。
uPlot JavaScript 图表库声称对于那些想要显示大量数据点而不会对性能产生任何不利影响的人来说是一个小而快速的解决方案。他们还在 GitHub 页面上提供了与一些流行图表库的速度比较。
一个令人惊叹的性能指标是该库可以在 135 毫秒内绘制大约 150,000 个数据点。其他功能包括非常快速且响应灵敏的缩放和悬停功能。以下 CodePen 演示创建了一个包含 100,000 个数据点的图表。
Stephen Wicklund 的演示。
该库的一些有用功能包括多个 y 轴、刻度和网格,以及不同类型的刻度(例如线性和对数)。您可以使用该库创建折线图、条形图和面积图等类型。您还可以使用描边、填充和破折号等属性自定义图表的外观。
不过,有一些事情可能会阻止您使用该库。巨大的性能提升是有代价的。该库不提供任何内置的过渡和动画。也没有内置行为来处理滚动和缩放行为。但是,存在插件可以为您提供该功能。
我们介绍了八个流行且免费的 JavaScript 图表库,它们试图满足不同类型的需求。它们每个都有自己的优点和缺点,因此您可以选择适合您并满足您所有要求的那个。例如,如果您想要简单易用的东西,或者使用 Apex Charts 创建更高级的图表,Chart.js 就非常有用。
查看库在其页面上发布的其他一些演示,看看其中哪些能够提供您喜欢的功能。
以上是顶级免费 JavaScript 图表库的详细内容。更多信息请关注PHP中文网其他相关文章!