控件使用文档

飞道科技

折线图

Tag

value, x 属性是必传的, 控件的宽高必须设定

<fd-wh000007></fd-wh000007>

Attributes

value

渲染图表的数据。

例:

<fd-wh000007 id="widget_000007" style="width: 40em;height: 20em;" x="time"  value='[{"time":"1997/12/09","收入":"961","客流量":"2","销售量":"2"},{"time":"1997/12/10","收入":"991","客流量":"3","销售量":"243"},{"time":"1997/12/11","收入":"891","客流量":"7","销售量":"122"},{"time":"1997/12/12","收入":"101","客流量":"7","销售量":"32"},{"time":"1997/12/13","收入":"961","客流量":"7","销售量":"323"},{"time":"1997/12/14","收入":"991","客流量":"7","销售量":"124"},{"time":"1997/12/15","收入":"81","客流量":"7","销售量":"152"},{"time":"1997/12/16","收入":"111","客流量":"7","销售量":"173"},{"time":"1997/12/17","收入":"961","客流量":"7","销售量":"142"},{"time":"1997/12/18","收入":"991","客流量":"7","销售量":"137"},{"time":"1997/12/19","收入":"891","客流量":"8","销售量":"103"},{"time":"1997/12/20","收入":"101","客流量":"7","销售量":"142"}]'>
</fd-wh000007>

x

作为x轴数据的字段名。【string】

x_name

x坐标轴的名称。[ default: ‘’ ]

y_left

对应左y轴数据的字段名。【Array】 示例:

y_right='["销售量","收入"]'

y_right

对应右y轴数据的字段名。【Array】 示例:

y_right='["销售量","收入"]'

y_left_name

左y轴名称

y_right_name

右y轴名称

theme

主题,可选值为’dark’,’infographic’,’macarons’,’roma’,’shine’,’vintage’。[ default: ‘infographic’ ]

legend_hide

是否隐藏图例组件。图例默认是显示的,如果设置了该属性则图例隐藏。

<fd-wh000007 style="width: 40em;height: 20em;" x="time" legend_hide value='[{"time":"1997/12/09","收入":"961","客流量":"2","销售量":"2"},{"time":"1997/12/10","收入":"991","客流量":"3","销售量":"243"},{"time":"1997/12/11","收入":"891","客流量":"7","销售量":"122"},{"time":"1997/12/12","收入":"101","客流量":"7","销售量":"32"},{"time":"1997/12/13","收入":"961","客流量":"7","销售量":"323"},{"time":"1997/12/14","收入":"991","客流量":"7","销售量":"124"},{"time":"1997/12/15","收入":"81","客流量":"7","销售量":"152"},{"time":"1997/12/16","收入":"111","客流量":"7","销售量":"173"},{"time":"1997/12/17","收入":"961","客流量":"7","销售量":"142"},{"time":"1997/12/18","收入":"991","客流量":"7","销售量":"137"},{"time":"1997/12/19","收入":"891","客流量":"8","销售量":"103"},{"time":"1997/12/20","收入":"101","客流量":"7","销售量":"142"}]'>
</fd-wh000007>

legend_left

图例组件离容器左侧的距离。

left 的值可以是像 20 这样的具体像素值,可以是像 ‘20%’ 这样相对于容器高宽的百分比,也可以是 ‘left’, ‘center’, ‘right’。

如果 left 的值为’left’, ‘center’, ‘right’,组件会根据相应的位置自动对齐。

legend_top

图例组件离容器上侧的距离。

top 的值可以是像 20 这样的具体像素值,可以是像 ‘20%’ 这样相对于容器高宽的百分比,也可以是 ‘top’, ‘middle’, ‘bottom’。

如果 top 的值为’top’, ‘middle’, ‘bottom’,组件会根据相应的位置自动对齐。

tooltip_formatter

默认有一种显示情况,也可以传入字符串模板。

<fd-wh000007 tooltip_formatter="{b0}: {c0}<br />{b1}: {c1}">
</fd-wh000007>

{a}(系列名称),{b}(类目值),{c}(数值), {d}(无)

zoom_inside_hide

是否隐藏滑动型缩放组件。默认显示。

<fd-wh000007 zoom_inside_hide>
</fd-wh000007>

zoom_slider_hide

是否隐藏拖动型缩放组件。默认显示。

dataZoom_start

区域缩放的起点。单位%[ default: 0 ]

dataZoom_end

区域缩放的终点。单位%[ default: 100 ]

show_lable

每一项上边都显示数值标签

lable_position

标签的位置,可选值 ‘top’,’left’,’right’,’bottom’,’inside’,’insideLeft’,’insideRight’,’insideTop’,’insideBottom’,’insideTopLeft’,’insideBottomLeft’,’insideTopRight’,’insideBottomRight’

默认为 ‘top’

lable_formatter

标签的字符串模板,可选。

字符串模板 模板变量有:

{a}:系列名。
{b}:数据名。
{c}:数据值。
{@xxx}:数据中名为'xxx'的维度的值,如{@product}表示名为'product'` 的维度的值。
{@[n]}:数据中维度n的值,如{@[3]}` 表示维度 3 的值,从 0 开始计数。

show_average

显示平均线

show_max

显示最大值标记点

show_min

显示最小值标记点

x_label_interval

设置x轴标签隔几个柱子显示,传0为每个柱子都显示标签【number】

x_label_rotate

设置x轴标签倾斜角度【number】

30为逆时针旋转30度, -30为顺时针旋转30度

mark_lines

设置标线【Array】

数据格式示例:

// key 和value 的值中的key相对应,name为显示的文字,y为刻度,color为标线的颜色
// color传为"",则使用默认的颜色

mark_lines='[{"key":"客流量","name":"--1--","y":1,"color":"red"},{"key":"收入","name":"--2--","y":500,"color":"yellow"}]'

Methods

setAttribute

设置控件属性值

以下属性的改变控件会发生改变

value 渲染图表的数据。

get_data_url

无参数,返回一个 base64 的 URL,可以设置为Image的src。

导出图表图片

<button id="get_img">get_img</button>
<img id="img" src="" />
<fd-wh000007 id="widget" style="width: 40em;height: 20em;background-color: white;" class="display-b ht200" theme="macarons" x="time" x_name="时间" value='[{"time":"1997/12/09","收入":"961","客流量":"2","销售量":"2"},{"time":"1997/12/10","收入":"991","客流量":"3","销售量":"243"},{"time":"1997/12/11","收入":"891","客流量":"7","销售量":"122"},{"time":"1997/12/12","收入":"101","客流量":"7","销售量":"32"},{"time":"1997/12/13","收入":"961","客流量":"7","销售量":"323"},{"time":"1997/12/14","收入":"991","客流量":"7","销售量":"124"},{"time":"1997/12/15","收入":"81","客流量":"7","销售量":"152"},{"time":"1997/12/16","收入":"111","客流量":"7","销售量":"173"},{"time":"1997/12/17","收入":"961","客流量":"7","销售量":"142"},{"time":"1997/12/18","收入":"991","客流量":"7","销售量":"137"},{"time":"1997/12/19","收入":"891","客流量":"8","销售量":"103"},{"time":"1997/12/20","收入":"101","客流量":"7","销售量":"142"}]'>
</fd-wh000007>
const widget = document.querySelector('#widget');
const get_img = document.querySelector('#get_img');
const img = document.querySelector('#img');

get_img.addEventListener('click', () => {
    const src = widget.get_data_url();
    img.src = src;
});

Events

feidao-web事件绑定示例

<fd-wh000007 id="widget" data-feidao-actions="fdwe-click:a001">

fdwe-click

点击事件,返回点击节点的Event,可以通过 name 和 value 属性,分别获得点击项名称和值

<fd-wh000007 id="widget" style="width: 40em;height: 20em;" x="time"  legend_hide value='[{"time":"1997/12/09","收入":"961","客流量":"2","销售量":"2"},{"time":"1997/12/10","收入":"991","客流量":"3","销售量":"243"},{"time":"1997/12/11","收入":"891","客流量":"7","销售量":"122"},{"time":"1997/12/12","收入":"101","客流量":"7","销售量":"32"},{"time":"1997/12/13","收入":"961","客流量":"7","销售量":"323"},{"time":"1997/12/14","收入":"991","客流量":"7","销售量":"124"},{"time":"1997/12/15","收入":"81","客流量":"7","销售量":"152"},{"time":"1997/12/16","收入":"111","客流量":"7","销售量":"173"},{"time":"1997/12/17","收入":"961","客流量":"7","销售量":"142"},{"time":"1997/12/18","收入":"991","客流量":"7","销售量":"137"},{"time":"1997/12/19","收入":"891","客流量":"8","销售量":"103"},{"time":"1997/12/20","收入":"101","客流量":"7","销售量":"142"}]'>
const widget = document.querySelector('#widget');

widget.addEventListener('fdwe-click', (p) => {
    console.log(p.name + ":" + p.value);
});

Example

动态数据

要传入的html代码

<button id="change_data">change_data</button>
<fd-wh000007 id="widget" x="time" style="width: 40em;height: 20em;background-color: white;" class="display-b ht200"  theme="macarons" x_name="时间" value='[{"time":"1997/12/09","收入":"961","客流量":"2","销售量":"2"},{"time":"1997/12/10","收入":"991","客流量":"3","销售量":"243"},{"time":"1997/12/11","收入":"891","客流量":"7","销售量":"122"},{"time":"1997/12/12","收入":"101","客流量":"7","销售量":"32"},{"time":"1997/12/13","收入":"961","客流量":"7","销售量":"323"},{"time":"1997/12/14","收入":"991","客流量":"7","销售量":"124"},{"time":"1997/12/15","收入":"81","客流量":"7","销售量":"152"},{"time":"1997/12/16","收入":"111","客流量":"7","销售量":"173"},{"time":"1997/12/17","收入":"961","客流量":"7","销售量":"142"},{"time":"1997/12/18","收入":"991","客流量":"7","销售量":"137"},{"time":"1997/12/19","收入":"891","客流量":"8","销售量":"103"},{"time":"1997/12/20","收入":"101","客流量":"7","销售量":"142"}]'>
</fd-wh000007>

要传入的js代码

const widget = document.getElementById('widget');
const change_data = document.getElementById('change_data');

change_data.addEventListener('click', () => {
    widget.setAttribute('value', '[{"time": "1997/12/09","收入": "961","客流量": "2"}, {"time": "1997/12/10","收入": "991","客流量": "3"}, {"time": "1997/12/11","收入": "891","客流量": "7"}, {"time": "1997/12/12","收入": "101","客流量": "7"}, {"time": "1997/12/13","收入": "961","客流量": "7"}, {"time": "1997/12/14","收入": "991","客流量": "7"}, {"time": "1997/12/15","收入": "81","客流量": "7"}, {"time": "1997/12/16","收入": "111","客流量": "7"}, {"time": "1997/12/17","收入": "961","客流量": "7"}, {"time": "1997/12/18","收入": "991","客流量": "7"}, {"time": "1997/12/19","收入": "891","客流量": "8"}, {"time": "1997/12/20","收入": "101","客流量": "7"}]');
});

完整功能示例

要传入的html代码

<button id="change_data">change_data</button>
<fd-wh000007 id="widget" x="time" style="width: 40em;height: 20em;background-color: white;" class="display-b ht200" theme="macarons" x_name="时间" value='[{"time":"1997/12/09","收入":"961","客流量":"2","销售量":"2"},{"time":"1997/12/10","收入":"991","客流量":"3","销售量":"243"},{"time":"1997/12/11","收入":"891","客流量":"7","销售量":"122"},{"time":"1997/12/12","收入":"101","客流量":"7","销售量":"32"},{"time":"1997/12/13","收入":"961","客流量":"7","销售量":"323"},{"time":"1997/12/14","收入":"991","客流量":"7","销售量":"124"},{"time":"1997/12/15","收入":"81","客流量":"7","销售量":"152"},{"time":"1997/12/16","收入":"111","客流量":"7","销售量":"173"},{"time":"1997/12/17","收入":"961","客流量":"7","销售量":"142"},{"time":"1997/12/18","收入":"991","客流量":"7","销售量":"137"},{"time":"1997/12/19","收入":"891","客流量":"8","销售量":"103"},{"time":"1997/12/20","收入":"101","客流量":"7","销售量":"142"}]'>
</fd-wh000007>

要传入的js代码

const widget = document.getElementById('widget');
const change_data = document.getElementById('change_data');

console.log(widget);
widget.addEventListener('fdwe-click', (e) => {
    console.log('click', e.name, e.value);
});
change_data.addEventListener('click', () => {
    widget.setAttribute('value', '[{"time": "1997/12/09","收入": "961","客流量": "2"}, {"time": "1997/12/10","收入": "991","客流量": "3"}, {"time": "1997/12/11","收入": "891","客流量": "7"}, {"time": "1997/12/12","收入": "101","客流量": "7"}, {"time": "1997/12/13","收入": "961","客流量": "7"}, {"time": "1997/12/14","收入": "991","客流量": "7"}, {"time": "1997/12/15","收入": "81","客流量": "7"}, {"time": "1997/12/16","收入": "111","客流量": "7"}, {"time": "1997/12/17","收入": "961","客流量": "7"}, {"time": "1997/12/18","收入": "991","客流量": "7"}, {"time": "1997/12/19","收入": "891","客流量": "8"}, {"time": "1997/12/20","收入": "101","客流量": "7"}]');
});