1.D3.jsD3(数据驱动文档或D3.js)是一个使用Web标准可视化数据的JavaScript库。D3可以使用SVG、Canvas和HTML使数据栩栩如生。D3将强大的可视化和交互技术与数据驱动的DOM操作方式相结合,让你拥有现代浏览器的所有功能,自由设计适合数据的可视化界面。GitHub(Stars:101K):https://github.com/d3/d32。Chart.jsChart.js是一个简单灵活的JavaScript图表,供设计人员和开发人员使用。该库可以创建八种常见类型的图表:折线图、条形图、雷达图、气泡图、散点图、面积图、饼图和极坐标图。该库使用HTML5中的canvas元素来呈现图表,这些图表默认是响应式的。GitHub(Stars:56.8K):https://github.com/chartjs/Chart.js3。ApacheEChartsApacheECharts是一个基于Javascript的数据可视化图表库,提供直观、生动、交互、可定制的数据可视化图表。它是用纯JavaScript编写的,基于zrender,一个全新的轻量级画布库。GitHub(Stars:50.9K):https://github.com/apache/echarts4。RechartsRecharts是一个重新定义的图表库,使用React和D3构建。这个库的主要目的是在React应用程序中轻松编写图表。Recharts的主要原则是:只使用React组件进行部署;原生SVG支持,轻量级只依赖于一些D3子模块;声明性组件,图表的组件纯粹是为了展示。GitHub(Stars:18.2K):https://github.com/recharts/recharts5。Plotly.jsPlotly.js是一个基于d3.js和stack.gl的开源JavaScript图表库。Plotly.js是一个高级的声明式图表库。plotly.js带来了多种图表类型,包括3D图表、统计图表和SVG地图。GitHub(Stars:14.6K):https://github.com/plotly/plotly.js6.Chartist.jsChartist.js是一个简单的响应式图表,可以用作前端图表生成器。它的主要特点如下:基于配置的转换处理简单;显式分离(使用CSS样式和JS控制)具有极大的灵活性;使用SVG;完全响应,具有独立的DPI;多媒体查询的响应式配置;完全基于SASS构建并支持自定义。GitHub(星星数:12.8K):https://github.com/gionkunz/chartist-js7。ApexChartsApexCharts是一个现代JavaScript图表库,它允许使用简单的API和100多个现成的示例构建交互式数据可视化。ApexCharts包括十几种图表类型,可在应用程序和仪表板中提供美观、响应迅速的可视化效果。该库旨在更轻松地缩放、平移、滚动数据、在图表上放置信息注释等。它适用于:React、Vue.js、JavaScript。GitHub(星星数:11.4K):https://github.com/apexcharts/apexcharts.js8。HighchartsHighcharts是一个用于制作图表的纯Javascript类库。主要特点如下:兼容性:兼容目前所有浏览器,包括iPhone、IE、Firefox等;支持大部分图表类型:折线图、曲线图、面积图、面积曲线图、直方图、饼图、散点图等;跨语言:无论是PHP、Asp.net还是Java,使用它只需要三个文件:一个是Highcharts的核心文件highcharts.js,一个是IE和Jquery类库或MooTools类库的canvas模拟器;提示功能:当鼠标移动到图表的某个点时有提示信息;缩放功能:选择图表部分进行放大,近距离观察图表;易用性:不需要特殊的开发技能,只需设置选项即可创建适合您的图表;时间轴:可以精确到毫秒。GitHub(星星数:10.6K):https://github.com/highcharts/highcharts9。NivoNivo是一个基于D3和React的框架,它提供了14种不同类型的组件来呈现数据。Nivo提供了许多自定义选项和三种渲染选项:Canvas、SVG、基于API的HTML。GitHub(星星数:10.1K):https://github.com/plouc/nivo10。deck.gldeck.gl是Uber开发并开源的基于WebGL的地理大数据可视化框架。用户可以通过组合现有层或利用deck.gl的可扩展架构来满足自定义需求,从而快速获得令人印象深刻的视觉效果。deck.gl将数据(通常是一个JSON对象数组)映射到一堆可视层-例如图标、多边形、文本;并用视图查看它们:例如地图,第一人称,正字法。deck.gl开箱即用地处理许多挑战:高性能渲染和大型数据集的更新;交互式事件处理,例如选择、突出显示和过滤;制图投影和与主要底图供应商的整合;经过验证的Deck.gl被设计为高度可定制的。所有层都带有灵活的API,以允许对渲染的各个方面进行编程控制。用户可以轻松扩展所有核心类来解决自定义用例。GitHub(星星数:9.8K):https://github.com/visgl/deck.gl11。kepler.glKepler.gl是一个基于Web的高性能应用程序,用于对大规模地理定位数据集进行可视化探索,可以渲染数百万个点。它支持3种数据格式,分别是:CSV、JSON、GeoJSON。某些地图类型仅支持GeoJSON格式的数据。Kepler.gl也是一个使用Redux来管理其状态和数据流的React组件。它可以嵌入到其他React-Redux应用程序中,并且是高度可定制的GitHub(Stars:8.6K):https://github.com/keplergl/kepler.gl12。react-visreact-vis是一套用于渲染常用数据可视化图表的React组件,如折线图/面积图/条形图、热力图、散点图、等高线图、六角热力图、饼图和圆环图、旭日图、雷达图、平行坐标和树状图。react-vis的特点如下:简单:您不需要任何深入的数据可视化库知识即可开始构建您的第一个可视化;灵活性:为不同的图表提供一组基本构建块。例如,将X轴和Y轴组件分开。这为需要它的应用程序提供了对图表布局的高级控制。易用性:提供一组默认值,可以通过自定义用户设置覆盖;与React集成:支持React的生命周期,不创建不必要的节点。GitHub(星星数:8.2K):https://github.com/uber/react-vis13。Chart.xkcdChart.xkcd是一个以“素描”、“卡通”或“手绘”风格绘制图表的图表库。支持多种图表类型:折线图、XY图、条形图、饼图/甜甜圈图、雷达图等。GitHub(Stars:7.1K):https://github.com/timqian/chart.xkcd14。BizChartsBizCharts是阿里巴巴开源的基于G2包的React图表库。它具有G2和React的所有优点,允许用户以组件的形式组合无数图表;并集成大量统计工具,支持多坐标系绘图、交互自定义、动画自定义、图形自定义等。GitHub(Stars:5.8K):https://github.com/alibaba/BizCharts15。TOASTUIChartTOASTUIChart是一个非常漂亮的图表库,用于可视化统计数据。支持Chrome、Firefox、Safari、Edge、IE(8+)等浏览器,绘制速度快,无需额外填充。ToastUIChart直观易用。而且,它与当今两个最流行的开源前端框架(React和Vue.js)很好地集成。与Highcharts一样,ToastUIChart也为旧版浏览器提供了良好的支持。因此,它保证了在所有浏览器中具有相同的外观和感觉。它还可以快速绘制并具有出色的性能,并且不需要polyfill。在渲染机制方面,它使用原生浏览器格式,包括SVG和RVML。GitHub(Stars:5.1K):https://github.com/nhn/tui.chart16。billboard.jsbillboard.js是一个基于D3.js的可重用、界面简单的JavaScript图表库。GitHub(Stars:5.1K):https://github.com/naver/billboard.js
