g2曲线图 每条曲线有单独的选中效果和tooltip

::-webkit-scrollbar {

display: none;

}

html,

body {

overflow: hidden;

height: 100%;

margin: 0;

}

.m-cf-lines {

margin: 100px 390px 0 420px;

height: 100px;

}

/*Fixing iframe window.innerHeight 0 issue in Safari*/

document.body.clientHeight;

var data = [];

let country = ['a', 'b', 'c', 'd'];

for (var i = 0; i < 12; i++) {

for (let j = 0; j < 4; j++) {

var temp = {};

temp.name = '资产名称' + i + j;

temp.time = j;

temp.country = country[i % 4] + i;

if (j === 0) {

temp.value = Math.floor(Math.random() * 20 + 20 * ( 3 - i % 4));

} else {

temp.value = Math.floor(Math.random() * 50 + 20);

}

data.push(temp);

}

}

var valueMap = {};

var chart = new G2.Chart({

container: 'm-cf-lines',

forceFit: true,

padding: [5],

width: window.innerWidth - 810,

height: 100,

animate: false

});

chart.source(data);

chart.legend(false);

chart.axis('value', {

label: null

});

chart.axis('time', {

label:null,

tickLine: null

});

var color = ['#825738', '#60714B', '#41677F', '#4A4168'];

chart.line().position('time*value').size(2).color('country', (type) => { // 通过回调函数

if (type.indexOf('a') >=0 ) {

return color[0];

}

if (type.indexOf('b') >=0 ) {

return color[1];

}

if (type.indexOf('c') >=0 ) {

return color[2];

}

if (type.indexOf('d') >=0 ) {

return color[3];

}

return 'blue';

}).shape('smooth');

chart.tooltip(false);

chart.render();

let tooltipHtml = `

$('#m-cf-lines div').append(tooltipHtml);

chart.on('line:mousemove', ev => {

let name = ev.data[0]._origin.name;

let attack = ev.data[1]._origin.value;

let bug = ev.data[2]._origin.value;

let risk = ev.data[3]._origin.value;

let text = name + '攻击面:' + attack + '漏洞:' + bug + '风险:' + risk;

console.log(text);

setTimeout(() => {

$('#m-cf-tooltip').css({visibility: 'visible',left: ev.x + 10, top: ev.y + 10}).show().html(text);

}, 0);

ev.target._attrs.lineWidth = 5;

var color = ['#DB8548', '#98B96D', '#5AA8D8', '#373781'];

let activeColor;

let type = ev.data[0]._origin.country;

if (type.indexOf('a') >=0 ) {

activeColor = color[0];

}

if (type.indexOf('b') >=0 ) {

activeColor = color[1];

}

if (type.indexOf('c') >=0 ) {

activeColor = color[2];

}

if (type.indexOf('d') >=0 ) {

activeColor = color[3];

}

ev.target._attrs.stroke = activeColor;

ev.target._attrs.strokeStyle = activeColor;

});

chart.on('line:mouseleave', ev => {

chart.render();

setTimeout(() => {

$('#m-cf-tooltip').hide();

}, 0);

});

g2 折线图点与点之间直线_g2曲线图 每条曲线有单独的选中效果和tooltip相关推荐

  1. g2 折线图点与点之间直线_科学网—ggplot2实现散点折线图 - 肖斌的博文

    准备的数据: 第一列是时间,第二列是样本,第三列是具体数值.横轴标为时间,纵坐标为具体数值,图中不同颜色展示不同样本. 具体的代码: library(ggplot2) png("./xyz. ...

  2. MpAndroidChart-LineChart 折线图使用(含动态添加点,动态添加曲线)

    目录 零.简介 一.MpAndroidChart的基本使用 1.依赖:project的build.gradle 中添加 2.app的build.gradle 中添加 3.举例 4.常用API 二.Mp ...

  3. python使用matplotlib可视化折线图、在可视化图像中同时绘制多条折线图

    python使用matplotlib可视化折线图.在可视化图像中同时绘制多条折线图 目录 python使用matplotlib可视化折线图.在可视化图像中同时绘制多条折线图

  4. [Python]使用折线图统计水果店一周内销售额的变化曲线

    来看一位同学的求助:要求用python使用折线图统计水果店一周销售,好吧再送她个柱状图 直接看源码: import numpy as np import matplotlib.pyplot as pl ...

  5. antv G2 折线图遇到的坑

    1. 数据很多时,图例显示不全: =>设置padding: 'auto' (自动计算边框,目前仅考虑 axis 和 legend 占用的边框) 2.图表绘制出来后,外部调用chart.filte ...

  6. python根据时间序列画折线图_Matplotlib:为每个时间序列subp绘制多条线

    设置 始终提供重现问题的示例数据. 我在这里提供了一些cols = pd.Index(['TJ', 'WH', 'SAFE', 'Walmart', 'Generic'], name='Store') ...

  7. SPSS折线图【012-2期】

    折线图(Liner Chart) 可以是直线图, 也可以是折线图, 适用于连续性资料.折线图是在直角坐标系中用线段表示某一事物的发展趋势的图形,能够直观地表示出事物的发展过程及趋势,应用非常广泛. 1 ...

  8. qchart折现图_Qt开发技术:QCharts(二)QCharts折线图介绍、Demo以及代码详解

    若该文为原创文章,未经允许不得转载 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 敬请期待- 红胖子,来也! 介绍了整体框架,开始动手码代码,按照顺序,从折线图开始. QCh ...

  9. python绘制折线图先对数据进行处理_python气象数据分析并绘制折线图-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 excel 2010巧妙处理 折 ...

最新文章

  1. JUnit单元测试依赖包构建路径错误解决办法
  2. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计
  3. HDU_1072_Nightmare题解
  4. 大学 University
  5. sklearn自学指南(part35)--近邻传播及均值漂移
  6. 环形均分纸牌问题(中位数)
  7. 第六周作业----测试自动化工具
  8. java 并发线程池的理解和使用
  9. 西门子大中华区总裁兼CEO赫尔曼:智能自主制造将重塑工业格局!
  10. [Java] 蓝桥杯BASIC-15 基础练习 字符串对比
  11. python ttk.notebook_python – 无法在ttk.Notebook中看到所有选项卡
  12. matplotlib 中设置图形大小
  13. 窗台上晒了一本书,三个人问了三个问题
  14. 计算机二级证一定要优秀吗,计算机二级需要优秀吗 如何拿拿到优秀成绩
  15. 证明:二阶导函数大于零时为凹函数
  16. PHP防红接口,域名防红php源代码
  17. Clickhouse导数工具waterdrop用法
  18. 上海市“专精特新”中小企业认定条件及奖励政策解读
  19. python大数相乘
  20. 高三物理教学工作计划

热门文章

  1. Psych112R Cognitive Robotics Midterm Laboratory
  2. SSH框架与配置文件的简单搭建
  3. java排序学习笔记
  4. vim编码设置问题(转)
  5. 纪念我2014.1.4 中国银行广东分行面试
  6. IAR 的精确延时程序(转)
  7. 苹果safari关掉java_如何在Safari,Chrome,Firefox和系统范围内禁用Java | MOS86
  8. 分段显示 linux_ArchAudit:一款在 Arch Linux 上检查易受攻击的软件包的工具 | Linux 中国...
  9. pycharm终端运行python文件_在PyCharm终端中执行python manage.py..._慕课问答
  10. python第三方库引用_Python入门:如何使用第三方库