一:使用预览

二:插件使用来源

Highcharts(本次使用)

ECharts

三:插件的使用

HighCharts的简单上手

(一)后台传递数据

getHchart方法获取用户数据(用户名,数据列表)

    def getHchart(self):
user_list = models.User.objects.filter()
user_data = []
for user in user_list:
cursor = connections['default'].cursor()
       #在数据库语句中使用字符串格式化需要两个%%,在python语言中使用一个%
cursor.execute("""select strftime('%%s',strftime("%%Y-%%m-",ptime))*1000,count(id) from repository_trouble where processer_id = %s GROUP BY strftime("%%Y-%%m",ptime)""",[user.nid])
result = cursor.fetchall() #数据列表
user_data.append({
'name':user.username,
'data':result
})
return user_data

数据格式:

[
{'name': '山上有风景', 'data': [(, ), (, ), (, )]},
{'name': '宁静致远', 'data': [(, ), (, ), (, ), (, )]},
{'name': '蜡笔小新', 'data': []},
{'name': '你大爷', 'data': []},
{'name': '但是', 'data': []}
]

(二)将数据Json化,传递到前端后的处理方法

.导入js文件
<script src="/static/plugins/Highcharts-6.1.0/code/highcharts.js"></script>
.创建一个DOM容器
<div id="container" style="min-width:400px;height:400px"></div>
.图表配置
<script>
var chart = null; Highcharts.setOptions({
global:{
useUTC:false
}
}) config = {
chart: {
type: 'spline'  #设置图表类型
},
title: {
text: '报障数据统计'  #标题设置
},
subtitle: {
text: '数据来源: 127.0.0.1(来源本地)'  #子标题
},
xAxis: {  #X轴配置
type:"datetime",
dateTimeLabelFormats:{
year:"%Y",
month:"%Y-%m",
},
title:{
text:null
}
},
yAxis: {  #Y轴配置
title: {
text: '报障数量'
}
},
credits:{  #版权
enabled: false // 禁用版权信息
},
plotOptions: {  
line: {
dataLabels: {
enabled: true // 开启数据标签
},
enableMouseTracking: false // 关闭鼠标跟踪,对应的提示框、点击事件会失效
}
},
} $(function(){
$.ajax({
url:"/backend/trouble-hchart.html",
type:"POST",
data:{'csrfmiddlewaretoken': '{{ csrf_token }}'},
dataType:"json",
success:function(data){
config['series']=data
chart = Highcharts.chart('container', config);  #设置图表的数据
}
})
}) </script>

python---图表的使用的更多相关文章

  1. Python图表绘制:matplotlib绘图库入门

    matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...

  2. Python图表绘制:matplotlib绘图库入门(转)

    matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...

  3. Python图表库Matplotlib 组成部分介绍

    图表有很多个组成部分,例如标题.x/y轴名称.大刻度小刻度.线条.数据点.注释说明等等. 我们来看官方给的图,图中标出了各个部分的英文名称 Matplotlib提供了很多api,开发者可根据需求定制图 ...

  4. Python图表数据可视化Seaborn:4. 结构化图表可视化

    1.基本设置 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ...

  5. Python图表数据可视化Seaborn:3. 线性关系数据| 时间线图表| 热图

    1. 线性关系数据可视化 lmplot( ) import numpy as np import pandas as pd import matplotlib.pyplot as plt import ...

  6. Python图表数据可视化Seaborn:2. 分类数据可视化-分类散点图|分布图(箱型图|小提琴图|LV图表)|统计图(柱状图|折线图)

    1. 分类数据可视化 - 分类散点图 stripplot( ) / swarmplot( ) sns.stripplot(x="day",y="total_bill&qu ...

  7. Python图表数据可视化Seaborn:1. 风格| 分布数据可视化-直方图| 密度图| 散点图

    conda  install seaborn  是安装到jupyter那个环境的 1. 整体风格设置 对图表整体颜色.比例等进行风格设置,包括颜色色板等调用系统风格进行数据可视化 set() / se ...

  8. 如何解决python 图表中文显示乱码问题(matlplotlib 包)

    目前搜到的是,下载一个字体到程序路径,设置成默认字体.  https://blog.csdn.net/irene_loong/article/details/68955485 #图表显示中文设置 im ...

  9. Python图表绘制Matplotlib

    引入 import numpy as npimport pandas as pdimport matplotlib.pyplot as plt# 导入相关模块 使用 # 图表窗口1 → plt.sho ...

  10. python日期格式化与绘图

    画一个量随着时间变化的曲线是经常会遇到的需求,比如画软件用户数的变化曲线.画随时间变化的曲线主要用到的函数是matplotlib.pyplot.plot_date(date,num).由于其第一个变量 ...

随机推荐

  1. unix网络编程——I/O多路复用之epoll

    1. 基本概念 当程序进行IO时,如果数据尚未准备好,那么IO将处于阻塞状态.当某个进程有多个打开的文件,比如socket,那么其后的所有准备好读写的文件将受到阻塞的影响而不能操作.不借助线程,单一进 ...

  2. 交换机、linux光衰查询

    RX收光,TX发光 一.交换机 命令: display interface transceiver brief 结果: ...... HW6851 10GE1/0/15 transceiver dia ...

  3. js dom学习

    创建dom元素 var oLi = document.creteElement('li'); //创建livar aLi = oUl.getElementsByTagName('li');oLi.in ...

  4. Two Sum III - Data structure design

    Design and implement a TwoSum class. It should support the following operations: add and find. add - ...

  5. SOA (面向服务的架构)-Service Oriented Architecture

    SOA (面向服务的架构) 编辑 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立 ...

  6. Gulp 项目简单构建,自动刷新页面

    /** * Created by 1900 on 12/18/2015. */ var plugins={ fs:require("fs"), gulp:require(" ...

  7. 利用ZooKeeper简单实现分布式锁

    1.分布式锁的由来: 在程序开发过程中不得不考虑的就是并发问题.在java中对于同一个jvm而言,jdk已经提供了lock和同步等.但是在分布式情况下,往往存在多个进程对一些资源产生竞争关系,而这些进 ...

  8. matlab dist函数

    dist——欧式距离加权函数(Euclidean distance weight function) 语法: Z = dist(W,P)    df = dist('deriv')    D = di ...

  9. 转:关于python文件操作大全

    转自:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html python中对文件.文件夹(文件操作函数)的操作需要涉及到o ...

  10. 【题解】CF#896 D-Nephren Runs a Cinema

    容易发现这些 vip 用户并没什么用,所以考虑枚举手持50元与100元的人共有多少个.设手持50元的人 \(a\) 个,手持100元的人 \(a - k\) 个,那么一共是 \(2*a - k\) 个 ...