前端数据统计用做Bootstrap的一些柱状图、饼状图和折线图案例
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
Bootstrap 使用了一些 HTML5 元素和 CSS 属性。为了让这些正常工作,您需要使用 HTML5 文档类型(Doctype)。 因此,请在使用 Bootstrap 项目的开头包含下面的代码段。
<!DOCTYPE html>
<html>
....
</html>
Bootstrap 3 的设计目标是移动设备优先,然后才是桌面设备。这实际上是一个非常及时的转变,因为现在越来越多的用户使用移动设备。
为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的 head 之中添加 viewport meta 标签,如下所示:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
width 属性控制设备的宽度。假设您的网站将被带有不同屏幕分辨率的设备浏览,那么将它设置为 device-width 可以确保它能正确呈现在不同设备上。
initial-scale=1.0 确保网页加载时,以 1:1 的比例呈现,不会有任何的缩放。
在移动设备浏览器上,通过为 viewport meta 标签添加 user-scalable=no 可以禁用其缩放(zooming)功能。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 介绍了这么多,言归正传,下面介绍图:
首先要引入bootstrap的js库,包括柱状图,饼状图和折线图:
<!--Sparkline Charts Needed Scripts-->
<script src="assets/js/charts/sparkline/jquery.sparkline.js"></script>
<script src="assets/js/charts/sparkline/sparkline-init.js"></script>
<!--Easy Pie Charts Needed Scripts-->
<script src="assets/js/charts/easypiechart/jquery.easypiechart.js"></script>
<script src="assets/js/charts/easypiechart/easypiechart-init.js"></script>
<!--Page Related Scripts-->
<script src="assets/js/charts/flot/jquery.flot.js"></script>
<script src="assets/js/charts/flot/jquery.flot.orderBars.js"></script>
<script src="assets/js/charts/flot/jquery.flot.tooltip.js"></script>
<script src="assets/js/charts/flot/jquery.flot.resize.js"></script>
<script src="assets/js/charts/flot/jquery.flot.selection.js"></script>
<script src="assets/js/charts/flot/jquery.flot.crosshair.js"></script>
<script src="assets/js/charts/flot/jquery.flot.stack.js"></script>
<script src="assets/js/charts/flot/jquery.flot.time.js"></script>
<script src="assets/js/charts/flot/jquery.flot.pie.js"></script>
<script src="assets/js/charts/flot/flot-init.js"></script>
html代码如下:
<div class="col-xs-12 col-md-12 col-lg-12">
<div class="col-xs-6">
<div class="widget">
<div class="widget-header">
<span id="clientTotal" class="widget-caption" style="font-size:25px;font-weight:bold;color:black"></span>
</div>
<div class="widget-body">
<div class="row">
<div class="col-sm-12">
<div id="selectable-charts" class="chart chart-lg" style="padding: 0px; position: relative;"></div>
</div>
<!--<div class="row">
<div class="col-sm-12">
<div class="col-sm-12 col-md-6">
<button class="btn btn-default" id="setSelection">Select year 1994</button>
<button class="btn btn-default" id="clearSelection">Clear selection</button>
</div>
<div class="col-sm-12 col-md-6">
<div class="pull-right">
<label><input id="zoom" type="checkbox" />Zoom to selection</label>
</div>
</div>
</div>
</div>-->
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="dashboard-box">
<div class="box-header">
<div id="customerTotal" class="deadline" style="font-size:15px;font-weight:bold;">
</div>
</div>
<div class="box-tabbs">
<div class="tabbable">
<ul class="nav nav-tabs tabs-flat nav-justified" id="myTab11">
<li class="active">
<a data-toggle="tab" href="#visits" style="font-size:25px;font-weight:bold;">
本月拜访量趋势图
</a>
</li>
</ul>
<div class="tab-content tabs-flat no-padding">
<div id="visits" class="tab-pane active animated fadeInUp">
<div class="row">
<div class="col-lg-12 chart-container">
<div id="dashboard-chart-visits" class="chart chart-lg no-margin"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
js代码如下
$(window).bind("load", function () {
/*Sets Themed Colors Based on Themes*/
themeprimary = getThemeColorFromCss('themeprimary');
themesecondary = getThemeColorFromCss('themesecondary');
themethirdcolor = getThemeColorFromCss('themethirdcolor');
themefourthcolor = getThemeColorFromCss('themefourthcolor');
themefifthcolor = getThemeColorFromCss('themefifthcolor');
//Sets The Hidden Chart Width
$('#dashboard-bandwidth-chart')
.data('width', $('.box-tabbs')
.width() - 30);
//------------------------------Visit Chart------------------------------------------------//
var username = $("#username").val();
var status = $("#type").val();
var d = new Date()
var vYear = d.getFullYear()
var vMon = d.getMonth() + 1
var vDay = d.getDate()
var day = new Date(vYear,vMon,0);
var lastdate = day.getDate();
s=vYear+'-'+(vMon<10 ? "0" + vMon : vMon)+'-'+'01'+' 00:00:00,'+vYear+'-'+(vMon<10 ? "0" + vMon : vMon)+'-'+lastdate+' 23:59:59';
$.ajax({
url: "../clientVisit",
async:false,
type: 'post',
data: {'username':username,'time':s,'status':status},
success: function(data1){
var data3 = $.parseJSON(data1);
var data2 = [{
color: themeprimary,
label: "拜访次数",
data:data3,
bars: {
order: 1,
align: "center",
show: true,
borderWidth: 0,
barWidth: 0.2,
lineWidth: .4,
fillColor: {
colors: [{
opacity: 0.4
}, {
opacity: 1
}]
}
}
},
{
color: themethirdcolor,
label: "拜访次数",
data: data3,
lines: {
show: true,
fill: false,
fillColor: {
colors: [{
opacity: 0.3
}, {
opacity: 0
}]
}
},
points: {
show: true
}
}];
var options = {
legend: {
show: false
},
xaxis: {
tickDecimals: 0,
position: "bottom",
color: '#f3f3f3',
align: "center",
tickWidth: 5
},
yaxis: {
min: 0,
color: '#f3f3f3',
tickFormatter: function (val, axis) {
return "";
},
},
grid: {
hoverable: true,
clickable: false,
borderWidth: 0,
aboveData: false,
color: '#fbfbfb'
},
tooltip: true,
tooltipOpts: {
defaultTheme: false,
content: " <b>%x 日</b> , <b>%s</b> : <span>%y</span>",
}
};
var placeholder = $("#dashboard-chart-visits");
var plot = $.plot(placeholder, data2, options);
},
error: function(data) {
}
});
$.ajax({
url: "clientManage",
async:false,
cache: false,
type: 'post',
data: {'username':username,'time':s,'status':status},
success: function(data1){
var data = $.parseJSON(data1);
var lskh3 = $.parseJSON(data);
var data5 = [{
color: themeprimary,
label: "意向客户",
data: yxkh3
},
{
color: themethirdcolor,
label: "签约客户",
data: qykh3
},
{
color: themesecondary,
label: "长尾客户",
data: cwkh3
},
{
color: themefourthcolor,
label: "流失客户",
data: lskh3
}];
var options = {
series: {
lines: {
show: true
},
points: {
show: true
}
},
legend: {
noColumns: 4
},
xaxis: {
tickDecimals: 0,
color: gridbordercolor
},
yaxis: {
min: 0,
color: gridbordercolor
},
selection: {
mode: "x"
},
grid: {
hoverable: true,
clickable: false,
borderWidth: 0,
aboveData: false
},
tooltip: true,
tooltipOpts: {
defaultTheme: false,
content: "<b>%s</b> : <span>%x 日</span> : <span>%y 人</span>",
},
crosshair: {
mode: "x"
}
};
var placeholder = $("#selectable-charts");
placeholder.bind("plotselected", function (event, ranges) {
var zoom = $("#zoom").is(":checked");
if (zoom) {
plot = $.plot(placeholder, data, $.extend(true, {}, options, {
xaxis: {
min: ranges.xaxis.from,
max: ranges.xaxis.to
}
}));
}
});
placeholder.bind("plotunselected", function (event) {
});
var plot = $.plot(placeholder, data5, options);
},
error: function(data) {
}
});
InitiateEasyPieChart.init();
InitiateSparklineCharts.init();
InitiateFlotSelectableChart.init();
});
效果如下:

前端数据统计用做Bootstrap的一些柱状图、饼状图和折线图案例的更多相关文章
- Python数据可视化:画饼状图、折线图、圈图
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. from math import pi import matplotlib ...
- 前端数据可视化echarts.js使用指南
一.开篇 首先这里要感谢一下我的公司,因为公司需求上面的新颖(奇葩)的需求,让我有幸可以学习到一些好玩有趣的前端技术,前端技术中好玩而且比较实用的我想应该要数前端的数据可视化这一方面,目前市面上的数据 ...
- Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor
Webservice WCF WebApi 注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...
- JavaScript数据可视化编程学习(一)Flotr2,包含简单的,柱状图,折线图,饼图,散点图
一.基础柱状图 二.基础的折线图 三.基础的饼图 四.基础的散点图 一.基础柱状图 如果你还没有想好你的数据用什么类型的图表来展示你的数据,你应该首先考虑是否可以做成柱状图.柱状图可以表示数据的变化过 ...
- echarts、higncharts折线图或柱状图显示数据为0的点
echarts.higncharts折线图或柱状图只需要后端传到前端一段json数据,接送数据的x轴与y周有对应数据,折线图或柱状图就会渲染出这数据. 比如,x轴表示美每天日期,y轴表示数量.他们的数 ...
- java代码实现highchart与数据库数据结合完整案例分析(二)---折线图
作者原创:未经博主允许不许转载 在上一篇的博客中,展示和分析了如何做一个饼状图,有疑问可以参考上一篇博客. 现在分析和展示折线图的绘制和案例分析, 先展示效果图: 与饼状图不同的是,折线图展现更多的数 ...
- seaborn分类数据可视化:散点图|箱型图|小提琴图|lv图|柱状图|折线图
一.散点图stripplot( ) 与swarmplot() 1.分类散点图stripplot( ) 用法stripplot(x=None, y=None, hue=None, data=None, ...
- 第四篇:R语言数据可视化之折线图、堆积图、堆积面积图
折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...
- ajax实现highchart与数据库数据结合完整案例分析(三)---柱状折线图
作者原创,未经博主允许,不可转载 在前面分析和讲解了用java代码分别实现饼状图和折线图,在工作当中,也会遇到很多用ajax进行异步请求 实现highchart. 先展示一下实现的效果图: 用ajax ...
随机推荐
- [Angular Tutorial] 4 - Directory and File Organization
在这一步中,我们将不会在我们的应用中添加任何新功能,相反,我们打算退回一步,重构我们的代码库,移动我们的代码和文件,以此来使我们的应用更具易扩展性和可维护性. 在先前的步骤中,我们已经见识到了如何将我 ...
- ubuntu系统内核替换
此处将内核由高版本替换成低版本.替换前的系统为ubuntu 12.04 kernel 3.8.0. 替换后的内核版本为2.6.35. 首先下载需要替换的内核文件,下载链接:https://www.ke ...
- html 转义
function escapeHTML(n) { var t = document.createElement("div"), i = document.createTextNod ...
- iOS 程序开发
准备 iOS 开发 之 编程知识点 iOS 程序调试 iOS 之 OC开发实战 iOS 架构模式 iOS 之 新功能.扩展
- Android应用性能优化方案
1.避免创建不必要的对象 2.如果方法用不到成员变量,可以把方法声明为静态(static),这样性能会提高百分之十五到百分之二十 3.避免使用get/set存取字段,可以把字段声明为public直接访 ...
- redis 高级配置
一.安全性 设置密码:在配置文件中设置 requirepass 123456 由于redis的速度非常快,每秒可以进行15万次的暴力破解,所以密码设置要强壮些 在客户端登录或者连接的时候,使用 aut ...
- js原生设计模式——2面向对象编程之继承—new类式继承
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Intent的属性及Intent-filter配置——Extra属性——Flag属性
Intent的Extra属性通常用于在多个Action之间进行数据交换,Intent的Extra属性值应该是一个Bundle对象,Bundle对象的就像一个Map对象,它可以存入多组key-value ...
- Bootstrap入门(二十八)JS插件5:工具提醒
Bootstrap入门(二十八)JS插件5:工具提醒 工具提示在使用过程中比较常见,但是实现起来有些麻烦,而bootstrap则很好地解决了这个问题. 我们来写一个简单的实例 先引入CSS文件和JS文 ...
- SoapUI:使用Excel进行参数化
本章中学习如下内容: 1) 使用DataSource调用Excel中的数据给接口参数化: 2) 使用DataSource Loop使得测试用例根据Excel中的取值循环 ...