codecamp

设置ECharts折线图的提示框

您可以对 ECharts 折线图进行特定的提示框设置,而不需要在全局 ECharts 图表中设置提示框组件。要设置 ECharts 折线图特定的提示框组件的属性、样式等,您需要使用 series[i]-line.tooltip 来实现。更多详细设置,参见下文:

  • series[i]-line.tooltip.position   string, Array, Function

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层的位置,默认不设置时位置会跟随鼠标的位置。

    可选:

    • Array
      通过数组表示提示框浮层的位置,支持数字设置绝对位置,百分比设置相对位置。
      示例: 
       // 绝对位置,相对于容器左侧 10px, 上侧 10 px
        position: [10, 10]
        // 相对位置,放置在容器正中间
        position: ['50%', '50%']
    • Function
      回调函数,格式如下:
        (point: Array, params: Object|Array.<Object>, dom: HTMLDomElement, rect: Object, size: Object) => Array
      参数:
      • point: 鼠标位置,如 [20, 40]。
      • params: 同 formatter 的参数相同。
      • dom: tooltip 的 dom 对象。
      • rect: 只有鼠标在图形上时有效,是一个用x, y, width, height四个属性表达的图形包围盒。
      • size: 包括 dom 的尺寸和 echarts 容器的当前尺寸,例如:{contentSize: [width, height], viewSize: [width, height]}。
      返回值:
      可以是一个表示 tooltip 位置的数组,数组值可以是绝对的像素值,也可以是相 百分比。
      也可以是一个对象,如:{left: 10, top: 30},或者 {right: '20%', bottom: 40}。
      如下示例:
       position: function (point, params, dom, rect, size) {
            // 固定在顶部
            return [point[0], '10%'];
        }
      或者:
      position: function (pos, params, dom, rect, size) {
            // 鼠标在左侧时 tooltip 显示到右侧,鼠标在右侧时 tooltip 显示到左侧。
            var obj = {top: 60};
            obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 5;
            return obj;
        }
    • 'inside'
      鼠标所在图形的内部中心位置,只在 trigger 为'item'的时候有效。
    • 'top'
      鼠标所在图形上侧,只在 trigger 为'item'的时候有效。
    • 'left'
      鼠标所在图形左侧,只在 trigger 为'item'的时候有效。
    • 'right'
      鼠标所在图形右侧,只在 trigger 为'item'的时候有效。
    • 'bottom'
      鼠标所在图形底侧,只在 trigger 为'item'的时候有效。
  • series[i]-line.tooltip.formatter string, Function

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层内容格式器,支持字符串模板和回调函数两种形式。

    1. 字符串模板

      模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。 在 trigger 为 'axis' 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。 不同图表类型下的 {a},{b},{c},{d} 含义不一样。 其中变量{a}, {b}, {c}, {d}在不同图表类型下代表数据含义为:

      • 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
      • 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)
      • 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无)
      • 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)

      更多其它图表模板变量的含义可以见相应的图表的 label.normal.formatter 配置项。

      示例:

      formatter: '{b0}: {c0}<br />{b1}: {c1}'
    2. 回调函数

      回调函数格式:

      (params: Object|Array, ticket: string, callback: (ticket: string, html: string)) => string

      第一个参数 params 是 formatter 需要的数据集。格式如下:

      {
          componentType: 'series',
          // 系列类型
          seriesType: string,
          // 系列在传入的 option.series 中的 index
          seriesIndex: number,
          // 系列名称
          seriesName: string,
          // 数据名,类目名
          name: string,
          // 数据在传入的 data 数组中的 index
          dataIndex: number,
          // 传入的原始数据项
          data: Object,
          // 传入的数据值
          value: number|Array,
          // 数据图形的颜色
          color: string,
      
          // 饼图的百分比
          percent: number,
      
          // 
          galleryViewPath: ,
      
          // 
          galleryEditorPath: ,
      
          // 
          imagePath: ,
      
          // 
          gl: ,
      
      }

      在 trigger 为 'axis' 的时候,或者 tooltip 被 axisPointer 触发的时候,params 是多个系列的数据数组。其中每项内容格式同上,并且,

      {
          componentType: 'series',
          // 系列类型
          seriesType: string,
          // 系列在传入的 option.series 中的 index
          seriesIndex: number,
          // 系列名称
          seriesName: string,
          // 数据名,类目名
          name: string,
          // 数据在传入的 data 数组中的 index
          dataIndex: number,
          // 传入的原始数据项
          data: Object,
          // 传入的数据值
          value: number|Array,
          // 数据图形的颜色
          color: string,
      
      }
          

      注: ECharts 2.x 使用数组表示各参数的方式不再支持。

      第二个参数 ticket 是异步回调标识,配合第三个参数 callback 使用。 第三个参数 callback 是异步回调,在提示框浮层内容是异步获取的时候,可以通过 callback 传入上述的 ticket 和 html 更新提示框浮层内容。

      示例:

      formatter: function (params, ticket, callback) {
          $.get('detail?name=' + params.name, function (content) {
              callback(ticket, toHTML(content));
          });
          return 'Loading';
      }
  • series[i]-line.tooltip.backgroundColor   Color[ default: 'rgba(50,50,50,0.7)' ]

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层的背景颜色。

  • series[i]-line.tooltip.borderColor   Color[ default: '#333' ]

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层的边框颜色。

  • series[i]-line.tooltip.borderWidth   number[ default: 0 ]

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层的边框宽。

  • series[i]-line.tooltip.padding   number[ default: 5 ]

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距。

    使用示例:

    // 设置内边距为 5
    padding: 5
    // 设置上下的内边距为 5,左右的内边距为 10
    padding: [5, 10]
    // 分别设置四个方向的内边距
    padding: [
        5,  // 上
        10, // 右
        5,  // 下
        10, // 左
    ]
  • series[i]-line.tooltip.textStyle   Object

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    提示框浮层的文本样式。

  • series[i]-line.tooltip.extraCssText   string

    注意:series.tooltip 仅在 tooltip.trigger 为 'item' 时有效。

    额外附加到浮层的 css 样式。如下为浮层添加阴影的示例:

    extraCssText: 'box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);'
ECharts折线图的标域该怎么设置
设置ECharts柱状图的文本标签
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

ECharts配置项.setOption

ECharts图例组件配置项

ECharts图例组件配置 文本样式

ECharts xAxis配置 直角坐标系x轴

ECharts xAxis配置 x坐标轴名称的文本样式

ECharts xAxis配置 设置x坐标轴轴线

ECharts xAxis配置 x坐标轴刻度设置

ECharts xAxis配置 x坐标轴刻度标签设置

xAxis配置x坐标轴分隔线

xAxis配置坐标轴分隔区域设置

xAxis配置类目数据

ECharts xAxis配置 类目标签的文本样式

ECharts极坐标系的径向轴

如何使用dataZoom组件

ECharts工具栏组件(toolbox)

ECharts工具栏的feature属性

ECharts导出图片的操作

ECharts的数据视图工具

ECharts数据区域缩放工具

ECharts动态类型切换工具

ECharts区域选择组件(brush)

ECharts系列列表:平行坐标系

ECharts系列:主题河流图

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }