網站首頁 編程語言 正文
注意:橫坐標顯示的名稱為lx, data里的lx與findLegendItem方法中的lx保持一致
。
var data = [{
lx: 'Jon Nicoll',
score: 282,
avgScore: 94
}, {
lx: 'Aaron Maxwell',
score: 208,
avgScore: 41.6
}, {
lx: 'Warren Clunes',
score: 186,
avgScore: 46.5
}, {
lx: 'David Bolton',
score: 184,
avgScore: 30.67
}, {
lx: 'Joel Robindon',
score: 177,
avgScore: 44.25
}, {
lx: 'Kyle Buckley',
score: 150,
avgScore: 50
}, {
lx: 'Jordan Lawrence',
score: 148,
avgScore: 24.67
}, {
lx: 'Jack Carey',
score: 138,
avgScore: 34.5
}, {
lx: 'Kuldeep Pegu',
score: 130,
avgScore: 32.5
}, {
lx: 'Max Hillier',
score: 128,
avgScore: 32
}, {
lx: 'Angus Le Lievre',
score: 127,
avgScore: 62.5
}];
var legendItems = [{
name: '個人分數',
marker: 'square',
fill: '#FACC14',
checked: true
}, {
name: '平均分數',
fill: '#000',
checked: true
}];
function findLegendItem(lx) {
var index = void 0;
for (var i = 0; i < legendItems.length; i++) {
if (legendItems[i].name === lx) {
index = i;
break;
}
}
return index;
}
chart = new F2.Chart({
el: canvas,
width,
height,
options:{
legend:true
}
});
chart.source(data, {
score: {
alias: '個人分數'
},
avgScore: {
alias: '平均分數'
}
});
chart.axis('avgScore', {
grid: null
});
chart.axis('lx', {
label: {
rotate: Math.PI / 3,
textAlign: 'start',
textBaseline: 'middle'
}
});
// 自定義圖例內容以及交互行為
chart.legend({
custom: true,
items: legendItems,
onClick: function onClick(ev) {
var item = ev.clickedItem;
var name = item.get('name');
var checked = item.get('checked');
var children = item.get('children');
if (checked) {
var markerFill = children[0].attr('fill');
var textFill = children[1].attr('fill');
children[0].set('_originColor', markerFill); // 緩存 marker 原來的顏色
children[1].set('_originColor', textFill); // 緩存文本原來的顏色
}
var geoms = chart.get('geoms');
for (var i = 0; i < geoms.length; i++) {
var geom = geoms[i];
if (geom.getYScale().alias === name)
if (!checked) {
geom.show();
children[0].attr('fill', children[0].get('_originColor'));
children[1].attr('fill', children[1].get('_originColor'));
} else {
geom.hide();
children[0].attr('fill', '#bfbfbf'); // marker 置灰
children[1].attr('fill', '#bfbfbf'); // 文本置灰 置灰
}
item.set('checked', !checked);
legendItems[findLegendItem(name)].checked = !checked;
}
}
});
chart.interval().position('lx*score').color('#FACC14');
chart.line().position('lx*avgScore').color('#000');
chart.point().position('lx*avgScore').size(3).style({
fill: '#000',
stroke: '#fff',
lineWidth: 1
});
chart.render();
原文鏈接:https://blog.csdn.net/Zan_Z/article/details/109110993
相關推薦
- 2022-07-22 實現自定義HTTP服務器
- 2022-04-23 如何在vs-code 中進行debugger調試
- 2022-10-27 Apache?Hive?通用調優featch抓取機制?mr本地模式_Linux
- 2022-11-30 CTF?AWD入門學習手冊_安全相關
- 2023-07-08 SparkMD5獲取不同圖片的md5顯示相同,解決辦法
- 2022-08-17 R語言ggplot2拼圖包patchwork安裝使用_R語言
- 2022-06-22 在?Python?中利用Pool?進行多處理_python
- 2022-12-29 Kotlin?Service服務組件開發詳解_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支