ECharts (Enterprise Charts 商业产品图表库)
提供商业产品常用图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、力导向布局图以及和弦图,同时支持任意维度的堆积和多图表混合展现。ECharts开源来自百度商业前端数据可视化团队,基于html5Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。ECharts(EnterpriseCharts商业产品图表库)提供商业产品常用图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、力导向布局图以及和弦图,同时支持任意维度的堆积和多图表混合展现。echarts百度的骄傲,当然也是中国的骄傲。使用中,还是有些费解的地方,毕竟是个复杂的图表,在此罗列一些:
这个线按道理,是在option配置对象,属性xAxis、yAxis中设置,本以为是这样设置的:
结果不是。一番寻思,才发现在option配置对象,属性grid中设置的:
本以为是设置option配置对象属性backgroundColor,结果不是,还是设置grid中属性backgroundColor:
itemStyle中的属性color,对于折线图来说,是设置线上面的小圆点(标志图形类型),真正设置内容填充色,要这么设置:
不单单是在option配置对象,属性xAxis、yAxis中设置两个对象就可以,还要在series中做好呼应,设置响应的xAxisIndex、yAxisIndex,才会出来两根轴:
可能大家第一时间,以为是option配置对象,属性color配置原因,还要在series中做好呼应,设置上name:
原因是不能设置barWidth,可以改用barMaxWidth或者barCategoryGap,来代替
想要鼠标经过,变成一根直线的提示,不单单要设置axisPointer,还需要对应设置trigger为axis:
打开控制台,查看tooltip提示框,不是canvas绘制出来的,是一个div元素class="echarts-tooltip zr-element";可能是页面中css样式设置,影响到了。tooltip formatter 提示框浮层内容格式器,支持字符串模板和回调函数两种形式。
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}(百分比)
formatter:'{b0}: {c0}<br />{b1}: {c1}'
2 回调函数
回调函数格式:
(params:Object|Array,ticket: string,callback:(ticket: string, html: string)) =>string | HTMLElement | HTMLElement[]
支持返回 HTML 字符串或者创建的 DOM 实例。
第一个参数 params 是 formatter 需要的数据集。格式如下:
{
componentType:'series',
// 系列类型
seriesType: string,
// 系列在传入的 optionseries 中的 index
seriesIndex: number,
// 系列名称
seriesName: string,
// 数据名,类目名
name: string,
// 数据在传入的 data 数组中的 index
dataIndex: number,
// 传入的原始数据项
data:Object,
// 传入的数据值。在多数系列下它和 data 相同。在一些系列下是 data 中的分量(如 map、radar 中)
value: number|Array|Object,
// 坐标轴 encode 映射信息,
// key 为坐标轴(如 'x' 'y' 'radius' 'angle' 等)
// value 必然为数组,不会为 null/undefied,表示 dimension index 。
// 其内容如:
// {
// x: [2] // dimension index 为 2 的数据映射到 x 轴
// y: [0]
// dimension index 为 0 的数据映射到 y 轴
// }
encode:Object,
// 维度名列表
dimensionNames:Array,
// 数据的维度
index,如 0 或 1 或 2
// 仅在雷达图中使用。
dimensionIndex: number,
// 数据图形的颜色
color: string,
// 饼图的百分比
percent: number,
}
详情见 (echarts------tool--formatter)选择采用 System V 共享内存的方式,主要用到的系统调用如下 shmget() 、 shmat() 、 shmdt() 及 shmctl() 头文件: #include #include需要注意的是,这个的数据需要我们自己设置,可以自定义加入key,name,label等等,到时候取出来
饼状图默认有如下提示
如果不想要这个提示文字,需要像如下设置
如果需要自定义label里面的文字,请看如下设置
Y轴数字未太大,未完全展示出来
修改属性后
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)