前端数据统计用做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 ...
随机推荐
- IOS 动画的两种方式
方式一: [UIView animateWithDuration:1 animations:^{ //动画的内容 CGRect frame = CGRectMake([UIParam widthScr ...
- iOS 程序初始一个带导航栏的视图
@synthesize window = _window; @synthesize rootViewController = _rootViewController; - (BOOL)applicat ...
- Angular - - $templateCache 和 $templateRequest
$templateCache 第一次使用模板,它被加载到模板缓存中,以便快速检索.你可以直接将模板标签加载到缓存中,或者通过$templateCache服务. 通过script标签: <scri ...
- ui-router---$stateProvider
转自:http://blog.csdn.net/violet_day/article/details/17515157 $stateProvider $stateProvider.state(stat ...
- HTML 5 服务器发送事件、Input 类型、表单元素、表单属性
HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器 ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- adb server无法启动方法,结束占用端口的进程
adb server is out of date. killing...ADB server didn't ACK* failed to start daemon *error: unknown ...
- 对angularjs时间过滤格式
在最近的项目中,我遇到这样的一个小问题,从后台传过来一个时间值,格式如下: "/Date(1484743002000)/" 至于为什么是这种格式,后台的开发说数据库中就是这个存的( ...
- POJ1221(整数划分)
UNIMODAL PALINDROMIC DECOMPOSITIONS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 543 ...
- HDU5058
So easy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...