博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Morris图表如何重新加载数据(重绘)
阅读量:5834 次
发布时间:2019-06-18

本文共 2471 字,大约阅读时间需要 8 分钟。

Morris加载数据

morris重新加载数据,再次调用Morris.Donut()方法,会是怎样的效果?如下:

https://img-blog.csdnimg.cn/20190505224449693.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nvbmd6ZWhhbw==,size_16,color_FFFFFF,t_70

可以看出来,图表又被加载了一次,页面已经乱的不成样子。跟一样,试着去网上找找官方的API去销毁或重绘图表,结果morris的github网址也打不开,只找到一个关于的帖子,但是比较有年头,也没有任何有效的解决方案。

怎么办?自己试着搞, 浏览器F12查看html代码,看到这些图表都是使用svg绘制的,那能否在每次重绘之前,将div#morris-donut-example里的元素都清空,或者把所有svg都remove掉呢?实践证明是可以的。

Morris重新加载数据

// 因找不到morris的重绘或销毁api,手动重绘$("#morris-donut-example").empty();$("#morris-donut-example svg").remove();Morris.Donut({    element: 'morris-donut-example',    data: $newDonutData,    resize: true,    colors: ['#ff8acc', '#5b69bc', "#35b8e0", "#db7256", "#10c469"]});

附上Morris三种图表的示例代码:

  • 饼状图
//creating donut chart饼状图var element = "morris-donut-example"; // div的idvar $donutData = [    {label: "Download Sales", value: 12},    {label: "In-Store Sales", value: 30},    {label: "Mail-Order Sales", value: 20}];var colors = ['#ff8acc', '#5b69bc', "#35b8e0"];Morris.Donut({    element: element,    data: $donutData,    resize: true, //defaulted to true    colors: colors});
  • 条形图 
//creating bar chart条形图var element = "morris-bar-example"; // div的idvar $barData  = [    { y: '2010', a: 75 },    { y: '2011', a: 42 },    { y: '2012', a: 75 },    { y: '2013', a: 38 },    { y: '2014', a: 19 },    { y: '2015', a: 93 }];var lineColors = ['#188ae2'];var xkey = "y";var ykeys = ['a'];var labels = ['Statistics'];Morris.Bar({    element: element,    data: $barData,    xkey: xkey,    ykeys: ykeys,    labels: labels,    hideHover: 'auto',    resize: true, //defaulted to true    gridLineColor: '#eeeeee',    barSizeRatio: 0.2,    barColors: lineColors});
  • 折线图
//create line chart折线图var element = "morris-line-example";var $lineData  = [    { y: '2008', a: 50, b: 0 },    { y: '2009', a: 75, b: 50 },    { y: '2010', a: 30, b: 80 },    { y: '2011', a: 50, b: 50 },    { y: '2012', a: 75, b: 10 },    { y: '2013', a: 50, b: 40 },    { y: '2014', a: 75, b: 50 },    { y: '2015', a: 100, b: 70 }];var xkey = "y";var ykeys = ['a','b'];var labels = ['长租','短租'];var opacity = ['0.9'];var Pfillcolor = ['#ffffff'];var Pstockcolor = ['#999999'];var lineColors = ['#10c469','#188ae2'];Morris.Line({    element: element,    data: $lineData,    xkey: xkey,    ykeys: ykeys,    labels: labels,    fillOpacity: opacity,    pointFillColors: Pfillcolor,    pointStrokeColors: Pstockcolor,    behaveLikeLine: true,    gridLineColor: '#eef0f2',    hideHover: 'auto',    resize: true, //defaulted to true    pointSize: 0,    lineColors: lineColors});

 

转载于:https://www.cnblogs.com/songzehao/p/10854255.html

你可能感兴趣的文章
Android Fragment和FragmentActivity区别和用法
查看>>
Select count(*)和Count(1)的区别和执行方式
查看>>
brainfuck 解释器
查看>>
计算机基础知识(一)——进制转换
查看>>
Linux进程间通信——使用消息队列
查看>>
【转】我的电脑最近忽然开不了机,启动修复也无法修复,win7系统。开机的时候如果不点启动修复直接正常启动...
查看>>
Java工厂模式
查看>>
TMS320F28335项目开发记录5_28335之CCS编程基础
查看>>
hive列转行
查看>>
GridView编辑删除操作
查看>>
设计模式---装饰模式
查看>>
用Intent实现activity的跳转
查看>>
二叉树的三种遍历的应用(表达式,求深度,叶子数,结点数,二叉树的建立,复制)...
查看>>
说说JSON和JSONP,也许你会豁然开朗
查看>>
LTDFZ
查看>>
启明星请假系统appform:流程在线帮助
查看>>
c# post 数据的方法
查看>>
MyEclipse下XFire开发Webservice实例
查看>>
python ftplib模块
查看>>
C# winform自定义Label控件使其能设置行距
查看>>