强大的JavaScript响应式图表Chartist.js的使用

发布时间 - 2026-01-11 03:14:38    点击率:

Chartist.js是一个非常简单而且实用的JavaScript前端图表生成器,它支持SVG格式,图表数据转换十分灵活,同时也支持多种图表展现形式,不失为一款前端开发者的开发利器。

Chartist.js的特点

  • 配置十分简单,可以很方便地转换各种图表数据格式。
  • CSS和JavaScript分离,因此代码比较简洁,使用就相对方便。
  • 使用SVG格式,因此Chartist.js可以很灵活的在Web页面上应用。
  • 响应式图表,支持不同的浏览器尺寸和分辨率。
  • 支持自定义 SASS 架构。

Chartist.js的使用方法

首先你需要在其官方网站中下载JS包和CSS包,并且在页面中引用它们:

<link rel="stylesheet" href="bower_components/chartist/dist/chartist.min.css" rel="external nofollow" >
<script src="bower_components/chartist/dist/chartist.min.js">

下面我们对一些常用的图表类型做一个简单的介绍。

带Tooltip提示的线形图

效果图:

JavaScript代码:

new Chartist.Line('.ct-chart', {
 labels: ['1', '2', '3', '4', '5', '6'],
 series: [
  {
   name: 'Fibonacci sequence',
   data: [1, 2, 3, 5, 8, 13]
  },
  {
   name: 'Golden section',
   data: [1, 1.618, 2.618, 4.236, 6.854, 11.09]
  }
 ]
});

var easeOutQuad = function (x, t, b, c, d) {
 return -c * (t /= d) * (t - 2) + b;
};

var $chart = $('.ct-chart');

var $toolTip = $chart
 .append('<div class="tooltip"></div>')
 .find('.tooltip')
 .hide();

$chart.on('mouseenter', '.ct-point', function() {
 var $point = $(this),
  value = $point.attr('ct:value'),
  seriesName = $point.parent().attr('ct:series-name');

 $point.animate({'stroke-width': '50px'}, 300, easeOutQuad);
 $toolTip.html(seriesName + '<br>' + value).show();
});

$chart.on('mouseleave', '.ct-point', function() {
 var $point = $(this);

 $point.animate({'stroke-width': '20px'}, 300, easeOutQuad);
 $toolTip.hide();
});

$chart.on('mousemove', function(event) {
 $toolTip.css({
  left: (event.offsetX || event.originalEvent.layerX) - $toolTip.width() / 2 - 10,
  top: (event.offsetY || event.originalEvent.layerY) - $toolTip.height() - 40
 });
});

多维度的柱形图

效果图:

JavaScript代码:

new Chartist.Bar('.ct-chart', {
 labels: ['First quarter of the year', 'Second quarter of the year', 'Third quarter of the year', 'Fourth quarter of the year'],
 series: [
  [60000, 40000, 80000, 70000],
  [40000, 30000, 70000, 65000],
  [8000, 3000, 10000, 6000]
 ]
}, {
 seriesBarDistance: 10,
 axisX: {
  offset: 60
 },
 axisY: {
  offset: 80,
  labelInterpolationFnc: function(value) {
   return value + ' CHF'
  },
  scaleMinSpace: 15
 }
});

简单的饼图

效果图:

 

JavaScript代码:

var data = {
 labels: ['Bananas', 'Apples', 'Grapes'],
 series: [20, 15, 40]
};

var options = {
 labelInterpolationFnc: function(value) {
  return value[0]
 }
};

var responsiveOptions = [
 ['screen and (min-width: 640px)', {
  chartPadding: 30,
  labelOffset: 100,
  labelDirection: 'explode',
  labelInterpolationFnc: function(value) {
   return value;
  }
 }],
 ['screen and (min-width: 1024px)', {
  labelOffset: 80,
  chartPadding: 20
 }]
];

new Chartist.Pie('.ct-chart', data, options, responsiveOptions);

更多关于Chartist.js的用法,可以前往其官方网站进行查阅,包括详细地API。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 图表Chartist  # 响应式图表Chartist  # Chartist.js  # JS中使用media实现响应式布局  # 利用js编写响应式侧边栏  # 纯javascript响应式树形菜单效果  # 原生JS实现响应式瀑布流布局  # JavaScript 实现一个响应式系统的解决方案  # 多维  # 做一个  # 自定义  # 更多关于  # 很方便  # 是一个非常  # 大家多多  # 数据格式  # data  # sequence  # Fibonacci  # section  # Golden  # Line  # chart  # ct  # Tooltip  # src  # series  # labels 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么判断请求类型_Laravel Request isMethod用法  浅谈redis在项目中的应用  Windows Hello人脸识别突然无法使用  如何在橙子建站上传落地页?操作指南详解  浅述节点的创建及常见功能的实现  如何用景安虚拟主机手机版绑定域名建站?  如何用美橙互联一键搭建多站合一网站?  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  javascript中对象的定义、使用以及对象和原型链操作小结  Laravel如何使用模型观察者?(Observer代码示例)  JavaScript如何实现类型判断_typeof和instanceof有什么区别  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  香港服务器如何优化才能显著提升网站加载速度?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何确认建站备案号应放置的具体位置?  如何快速搭建高效可靠的建站解决方案?  教你用AI将一段旋律扩展成一首完整的曲子  高防服务器如何保障网站安全无虞?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何将凡科建站内容保存为本地文件?  奇安信“盘古石”团队突破 iOS 26.1 提权  如何在云主机上快速搭建多站点网站?  EditPlus 正则表达式 实战(3)  Laravel如何处理CORS跨域请求?(配置示例)  Android中AutoCompleteTextView自动提示  如何在景安服务器上快速搭建个人网站?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  英语简历制作免费网站推荐,如何将简历翻译成英文?  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel安装步骤详细教程_Laravel环境搭建指南  Firefox Developer Edition开发者版本入口  北京网站制作的公司有哪些,北京白云观官方网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何用虚拟主机快速搭建网站?详细步骤解析  WordPress 子目录安装中正确处理脚本路径的完整指南  Laravel怎么调用外部API_Laravel Http Client客户端使用  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  无锡营销型网站制作公司,无锡网选车牌流程?  如何快速搭建高效简练网站?  如何快速搭建自助建站会员专属系统?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  进行网站优化必须要坚持的四大原则  韩国服务器如何优化跨境访问实现高效连接?  如何在IIS管理器中快速创建并配置网站?  简单实现Android验证码  Laravel如何使用Livewire构建动态组件?(入门代码)