`
zengshaotao
  • 浏览: 792000 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自定义系列的颜色及鼠标的事件处理

 
阅读更多

option = {

    title: {

        text: 'ECharts 入门示例'

    },

    tooltip: {},

    legend: {

        data:['销量']

    },

    xAxis: {

        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]

    },

    yAxis: {},

    series: [{

        name: '销量',

        type: 'bar',

        itemStyle: {

            //设置当前系列的颜色

            normal: {

                color:'blue'

            }

        },

        data: [51, 20, 36, 10, 15, 20]

    },{

        name: '销量2',

        type: 'bar',

        itemStyle: {

            //设置当前系列的颜色

            normal: {

                color:'green'

            }

        },

        data: [25, 12, 16, 8, 23, 28]

    }]

};

 

 

鼠标事件的处理

ECharts 支持常规的鼠标事件类型,包括 'click''dblclick''mousedown''mousemove''mouseup''mouseover''mouseout' 事件。下面先来看一个简单的点击柱状图后打开相应的百度搜索页面的示例。

// 基于准备好的dom,初始化ECharts实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据var option ={
    xAxis:{
        data:["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},
    yAxis:{},
    series:[{
        name:'销量',
        type:'bar',
        data:[5,20,36,10,10,20]}]};// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);// 处理点击事件并且跳转到相应的百度搜索页面
myChart.on('click',function(params){
    window.open('https://www.baidu.com/s?wd='+ encodeURIComponent(params.name));});

所有的鼠标事件包含参数 params,这是一个包含点击图形的数据信息的对象,如下格式:

{// 当前点击的图形元素所属的组件名称,// 其值如 'series'、'markLine'、'markPoint'、'timeLine' 等。
    componentType: string,// 系列类型。值可能为:'line'、'bar'、'pie' 等。当 componentType 为 'series' 时有意义。
    seriesType: string,// 系列在传入的 option.series 中的 index。当 componentType 为 'series' 时有意义。
    seriesIndex: number,// 系列名称。当 componentType 为 'series' 时有意义。
    seriesName: string,// 数据名,类目名
    name: string,// 数据在传入的 data 数组中的 index
    dataIndex: number,// 传入的原始数据项
    data:Object,// sankey、graph 等图表同时含有 nodeData 和 edgeData 两种 data,// dataType 的值会是 'node' 或者 'edge',表示当前点击在 node 还是 edge 上。// 其他大部分图表中只有一种 data,dataType 无意义。
    dataType: string,// 传入的数据值
    value: number|Array// 数据图形的颜色。当 componentType 为 'series' 时有意义。
    color: string
}

如何区分鼠标点击到了哪里:

myChart.on('click',function(params){if(params.componentType ==='markPoint'){// 点击到了 markPoint 上if(params.seriesIndex ===5){// 点击到了 index 为 5 的 series 的 markPoint 上。}}elseif(params.componentType ==='series'){if(params.seriesType ==='graph'){if(params.dataType ==='edge'){// 点击到了 graph 的 edge(边)上。}else{// 点击到了 graph 的 node(节点)上。}}}});

你可以在回调函数中获得这个对象中的数据名、系列名称后在自己的数据仓库中索引得到其它的信息候更新图表,显示浮层等等,如下示例代码:

myChart.on('click',function(parmas){
    $.get('detail?q='+ params.name,function(detail){
        myChart.setOption({
            series:[{
                name:'pie',// 通过饼图表现单个柱子中的数据分布
                data:[detail.data]}]});});});

组件交互的行为事件

在 ECharts 中基本上所有的组件交互行为都会触发相应的事件,常用的事件和事件对应参数在 events 文档中有列出。

下面是监听一个图例开关的示例:

// 图例开关的行为只会触发 legendselectchanged 事件
myChart.on('legendselectchanged',function(params){// 获取点击图例的选中状态var isSelected = params.selected[params.name];// 在控制台中打印
    console.log((isSelected ?'选中了':'取消选中了')+'图例'+ params.name);// 打印所有图例的状态
    console.log(params.selected);});
分享到:
评论

相关推荐

    鼠标事件特效鼠标事件特效鼠标事件特效

    1. **鼠标事件**:在JavaScript中,鼠标事件是用户与网页交互时触发的一系列事件。常见的鼠标事件有: - `click`:当用户点击鼠标按钮时触发。 - `dblclick`:当用户快速连续点击两次鼠标时触发。 - `mousedown`...

    PB自定义事件ID消息

    - 这一系列事件主要用于处理通用对话框(如文件选择对话框、颜色选择对话框等)中的列表框操作,包括添加、删除、搜索和选择字符串等。 - `pbm_cbaddstring`、`pbm_cbdeletestring` 和 `pbm_cbinsertstring`: 这些...

    c# 自定义控件库 自定义按钮 自定义进度条

    综上所述,这个C#自定义控件库包含了一系列实用且富有创新性的控件,旨在帮助开发者构建更精美、更具交互性的应用程序。通过这些自定义控件,可以实现更丰富的视觉效果,增强用户界面的可定制性和一致性,提高用户的...

    易语言高级表格鼠标移动时改变行背景色

    这个功能可以通过监听鼠标的移动事件并自定义控件的画图行为来实现。 首先,我们需要理解易语言中的事件驱动编程模型。易语言的程序是由一系列的事件处理函数组成,当某个事件发生时,相应的函数会被调用执行。例如...

    完成listWidget样式和右键鼠标事件,QWidget添加一个widget以及listWidgetItem添加widget

    本项目涉及的主题是如何自定义`QListWidget`的样式、处理右键鼠标事件,以及在`QWidget`上添加子`Widget`,以及如何在`QListWidgetItem`中嵌入`Widget`。以下是对这些知识点的详细解释: 1. **QListWidget样式...

    从头学Qt Quick(3)-- 用QML写一个简单的颜色选择器

    在本系列教程的后续部分,我们将进一步学习如何添加颜色选择功能,如使用ColorDialog,以及如何将选定的颜色存储和显示。同时,我们也会探讨如何将QML与C++代码结合,以便于在应用程序的其他部分使用所选颜色。 ...

    Qt 自定义 Calendar 日历控件

    6. **事件处理**: 自定义日历控件需要处理各种事件,如鼠标点击、键盘输入和滚轮滚动。通过重载eventFilter()函数或使用QObject::installEventFilter(),我们可以拦截和处理这些事件。 7. **数据模型**: 如果日历...

    qt图像处理,文字处理软件(菜单+工具栏+鼠标事件+定时器)

    通过重写这些事件处理函数,可以实现自定义的鼠标交互行为。 7. **定时器**:`QTimer`类是Qt中的计时工具,可以用来定期触发某个信号。开发者可以使用`singleShot`方法进行一次性触发,或者使用`start`方法设置间隔...

    C#自定义控件库 大全

    5. **用户交互**: 自定义控件可能扩展了鼠标和键盘事件处理,以响应用户的输入。例如,添加滑块控件时,可能需要处理鼠标拖动事件。 6. **性能优化**: 对于复杂的自定义控件,性能优化是关键。这可能涉及减少重绘...

    C++编程系列之捕获鼠标绘图

    Windows API提供了丰富的函数来处理图形界面和用户输入,其中`GetCursorPos`用于获取鼠标当前位置,`SetPixel`可以用来设置指定位置的像素颜色,实现简单的绘图。GDI是Windows图形系统的一部分,提供了一系列绘图...

    Unity脚本 鼠标掠过显示物体轮廓

    Unity提供了一系列API来处理用户输入,如`Input.mousePosition`获取鼠标位置,`Collider`组件进行碰撞检测。当鼠标移动到物体上方时,可以触发特定的逻辑。 2. 脚本实现: `changeTexTest.js`可能是一个...

    vs2008如何创建自定义工具栏

    5. **关于压缩包中的“关于VS2008工具栏换肤及多尺寸风格处理类库程序代码”** - 这可能包含了一组类库或代码示例,用于改变VS2008工具栏的外观,包括换肤和适配不同屏幕尺寸的功能。 - 通过研究这些代码,开发者...

    Visionpro 控件自定义添加

    综上所述,VisionPro控件的自定义添加涉及编程、布局设计、事件处理等多个方面。通过掌握这些知识,开发者能够创建出满足特定需求的高效、用户友好的视觉应用。在实际工作中,不断学习和实践,提升自己的技能,是...

    MFC扩展自定义控件

    本资源提供的"myControl"压缩包包含了一系列MFC自定义控件的源代码,涵盖了按钮、编辑框、列表框、树形控件和菜单控件等常见UI组件的定制实现。 1. **MFC基础**: MFC是微软为Windows应用程序开发提供的一套C++...

    C#自定义控件---自定义水晶按钮控件完整源码

    4. **事件处理**:除了标准的按钮事件(如`Click`),可能还需要添加自定义事件,如鼠标悬停时改变外观的`MouseEnter`和`MouseLeave`事件。 5. **样式和皮肤支持**:为了让用户能够轻松地更改控件的外观,可以提供...

    自定义按钮类ColorButton应用(修改颜色等)

    同时,可能还需要处理鼠标事件,如WM_LBUTTONDOWN、WM_LBUTTONUP等,以响应用户的点击操作并改变按钮的状态。 5. **对话框实例**: 这个例子是一个简单的MFC对话框项目,对话框上包含了一个`ColorButton`控件。在...

    C#自定义控件---实现Control阴影源码2019

    6. **事件处理**:自定义控件可能需要处理额外的事件,例如鼠标事件、键盘事件等,以便在用户与控件交互时更新阴影效果。通过重写或添加事件处理程序,我们可以响应这些事件并作出相应的反应。 7. **属性和设计时...

    labview自定义按钮.rar

    本资源“labview自定义按钮.rar”显然包含了一系列关于LabVIEW自定义按钮的示例或模板,旨在帮助用户深入理解和应用这一特性。 自定义按钮在LabVIEW中的实现主要依赖于两种方法:图标按钮(Icon Button)和用户界面...

    用鼠标左键制图

    #### 6.1 鼠标事件处理 - 在`mousePressed`方法中记录鼠标按下的位置。 - 在`mouseReleased`方法中记录鼠标释放的位置,并进行绘图。 #### 6.2 菜单事件处理 - 实现`ActionListener`接口,通过`actionPerformed`...

Global site tag (gtag.js) - Google Analytics