工具位置

画面效果





必需方法
- pkchart.setXAxis,pkchart.setYAxis,pkchart.setSeriesData 通常必须都调用
- setXAxis:function(objectname,xAxises)。设置一个或多个X轴信息(不包含数据)。不适用于雷达图和饼图
- 本函数可以不调用。如果不调用,将会有1个X轴,X轴无刻度值显示。
- xAxises是一个数组,第一个元素表示一个第一个X轴,第二个元素表示第二个X轴。通常用1个X轴就可以了。如果给出2个X轴信息,则两个X轴上下错开
- type属性:每个X轴应该给出一个type。category/time/无。
- category表示按照类目设置,此时必须通过data属性给出类目名称(个数需要等于数据的个数)。
- time表示按照序列给出的时间,此时data属性赋值无效,序列数据的data赋值格式:[[1522306819000, 2], [1522306919000, 1], [1522307019000, 3], [1522307119000, 1], [1522307120000, 1],[1522307230000, 1], [1522302230000, 1], [1522307430000, 1], [1522407230000, 1]];
- data属性:配合type==category使用,指定Y轴每个刻度显示的名字。如果未赋值,则不显示刻度文字,但刻度标尺依然显示。data个数应该和序列数据最大个数相等,否则会导致序列数据中超出个数的数据显示不了。每个元素应该该属性是个数组,如:['周一', '周二', '周三', '周四', '周五', '周六', '周日']。
- 示例:pkchart.setXAxis("chart1",[{type:"category",data:['周一', '周二', '周三', '周四', '周五', '周六', '周日']}]);
- 示例:pkchart.setXAxis("chart1",[{type:"category"}]);

- axisPointer属性:配合type==category且data不为空才有效果。鼠标移动到柱子上显示效果,缺省为阴影。如果type为空则不显示阴影。{type: 'shadow'}结合起来可以显示Y轴每个刻度的单位。
- 示例:pkchart.setXAxis("chart1",[{axisPointer:{type: 'shadow'}}]);

- setYAxis(objectname,yAxises)。设置一个或多个Y轴信息。不适用于雷达图和饼图
- 本函数如果不调用,将会有1个Y轴,且Y轴刻度将会根据数值自适应生成,且Y轴不显示名称和刻度的单位。
- yAxises是一个数组,第一个元素表示一个第一个Y轴,第二个元素表示第二个Y轴。通常用1个Y轴就可以了。如果给出2个Y轴信息,则两个Y轴则分布在两侧,如上面示例
- 示例:pkchart.setYAxis("chart1",[{name: '水量'},name: '温度'}]);

- name属性:每个Y轴应该给出一个name。如果不给则不显示Y轴名字。
- data属性:通常不需要使用。如果需要指定Y轴每个刻度显示的名字,那么应该给出data属性,且data个数应该和序列数据最大个数相等,否则会导致序列数据中超出个数的数据显示不了。
- 每个元素应该该属性是个数组,如:['周一', '周二', '周三', '周四', '周五', '周六', '周日']。如果不指定,则根据数值自动指定刻度和间隔
- min,max,interval属性:通常不需要使用。三个结合起来,手工指定Y轴每个刻度间隔。min必须小于数据数值的最小值,max必须大于数值的最大值,否则将导致最小值或最大值柱子显示不全。示例:min: 0,max: 250,interval: 50。
- type,axisLabel属性:结合起来可以显示Y轴每个刻度的单位。type: 'value',axisLabel: {formatter: '{value} ml'}
- 示例:pkchart.setYAxis("chart1",[{type: 'value',axisLabel: {formatter: '{value} ml'}}]);

- pkchart.setSeriesData:function(objectname,seriesData)。填充序列数据,必须调用。seriesData为数组,每个数组元素又是一个数组
- 如果x轴的type==category,则每个序列数据是一个数组,
- 示例:
- pkchart.setXAxis("chart1",[{type:"category",data:['周一', '周二', '周三', '周四', '周五', '周六', '周日']}]);
- pkchart.setYAxis("chart1",[{'name':'水量','name':'温度'}]);
- pkchart.setSeriesData("chart1", [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]);

- 如果x轴的type==time,则每个序列数据数组的元素是时间+数值。
- 示例:
- pkchart.setXAxis("chart1",[{type:"category",data:['周一', '周二', '周三', '周四', '周五', '周六', '周日']}]);
- pkchart.setYAxis("chart1",[{'name':'水量','name':'温度'}]);
- pkchart.setSeriesData("chart1",[[[1522306819000, 2], [1522306919000, 1], [1522307019000, 3], [1522307119000, 1], [1522307120000, 1],[1522307230000, 1], [1522302230000, 1], [1522307430000, 1], [1522407230000, 1]]]);
可选方法
完整示例。
- 需先将一个图表控件拖到画面上,命名为chart1,然后将下面脚本复制到画面的onLoad事件
- 完整示例1---基本柱状图:
- pkchart.setXAxis("chart1",[{type:"category"}]);
- pkchart.setYAxis("chart1",[{name:"水量"}]);
- pkchart.setSeriesData("chart1", [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]);

- 完整示例2--标题和图例、X轴分类:
- pkchart.setXAxis("chart1",[{type:"category"}]);
- pkchart.setYAxis("chart1",[{name:"水量"}]);
- pkchart.setSeriesData("chart1", [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]);
- pkchart.setSeriesInfo("chart1",[{name: '用水量',type:"bar"}]);
- pkchart.setLegend("chart1",{data:["用水量"]});
- pkchart.setTitle("chart1","用水量");
- pkchart.setXAxis("chart1",[{data:['周一', '周二', '周三', '周四', '周五', '周六', '周日']}]);

- 完整示例3--柱状图渐变效果:
- pkchart.setXAxis("chart1",[{type:"category"}]);
- pkchart.setYAxis("chart1",[{name:"水量"}]);
- pkchart.setSeriesData("chart1", [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]);
- pkchart.setSeriesInfo("chart1",[{name: '用水量',type:"bar",itemStyle:{color: new echarts.graphic.LinearGradient(0, 0, 0, 1,[{offset: 0, color: '#83bff6'},{offset: 0.5, color: '#188df0'},{offset: 1, color: '#188df0'}])}}]);
- 完整示例3–柱状图和折线图混合:
- pkchart.setYAxis("chart1",[{name:"水量"}]); // 必须先设置Y轴,再设置X轴才可以,再给数据才可以
- pkchart.setXAxis("chart1",[{type:"category"}]);
- pkchart.setSeriesData("chart1", [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]]);
- pkchart.setSeriesInfo("chart1",[{name: '蒸发量',type:"bar"},{name: '降水量',type:"bar"},{name: '平均温度',type:"line"}]);


复杂效果示例图:
var XAxis=[
{
type:"category",
data:['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
axisLabel: {
textStyle: {color: '#a2d4e6'
}
},
axisTick: {
alignWithLabel: true
}
}
]
pkchart.setXAxis("chart1",XAxis);
var yAxis= [
{
type: 'value',
name: '三舱人数',
axisLine: {
lineStyle: {
color: '#a2d4e6'
}},
splitLine: {
show: true,
lineStyle:{
color: ['#05133c'],
width: 1,
type: 'solid'
}
}
// axisLabel: {textStyle: {color: '#fff'}}
},
{
type: 'value',
name: '总人数',
axisLine: {
lineStyle: {
color: '#a2d4e6'
}},
splitLine: {
show: true,
lineStyle:{
color: ['#05133c'],
width: 1,
type: 'solid'
}
}
}
]
pkchart.setYAxis("chart1",yAxis);
pkchart.setLegend("chart1",{orient: 'horizontal',top:10,right:0,textStyle:{color:'white'},data: ['电力舱', '综合舱', '燃气舱','人数']}); // 设置图例
var series= [
{
name: '人数',
type: 'line',
yAxisIndex: 1,
color:'#44f0ff',
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: "#6fecf7" },
{ offset: 0.5, color: "#8eecf5" },
{ offset: 1, color: "#eef2f2" }
])
}
}
},
{
name: '电力舱',
type: 'bar',
barWidth : 10,
itemStyle:
{
color: new echarts.graphic.LinearGradient(0, 0, 0, 1,[{offset: 1, color:'#ff5b1f'},{offset: 0.5, color: '#ff861f'},{offset: 0, color:'#ffbe20'}])
}
},
{
name: '综合舱',
type: 'bar',
barWidth : 10,
itemStyle:
{
color: new echarts.graphic.LinearGradient(0, 0, 0, 1,[{offset: 1, color:'#048aef'},{offset: 0.5, color: '#19b8ec'},{offset: 0, color:'#27d4e5'}])
}
},
{
name: '燃气舱',
type: 'bar',
barWidth : 10,
itemStyle:
{
color: new echarts.graphic.LinearGradient(0, 0, 0, 1,[{offset: 1, color:'#fef901'},{offset: 0.5, color: '#fbf529'},{offset: 0, color:'#f7f14f'}])
}
}
]
pkchart.setSeriesInfo("chart1",series);
pkchart.setSeriesData("chart1",[[29.0, 24.9, 27.0, 33.2, 25.6, 26.7, 25.6],[2.0, 4.9, 7.0, 13.2, 15.6, 26.7,15.6],[7.0, 9.9, 25.0, 22.2, 3.6, 14.7, 27.6],[15.0, 2.9, 9.0, 23.2, 2.6, 23.7, 1.6]]);
- 完整示例–饼图图示例:pkchart.setTooltip("chart1",{trigger: 'item'}); // 设置提示
- pkchart.setLegend("chart1",{data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']}); // 设置图例
- pkchart.setSeriesInfo("chart1",[{name: '蒸发量',type:"pie",radius: ['50%', '70%']}]);
- pkchart.setSeriesData("chart1", [[{value: 335, name: '直接访问'},{value: 310, name: '邮件营销'},{value: 234, name: '联盟广告'},{value: 135, name: '视频广告'},{value: 1548, name: '搜索引擎'}]]); //注意数据格式
- 完整示例--雷达图示例:
- pkchart.setTooltip("chart1",{}); // 设置提示
- pkchart.setLegend("chart1",{data: ['预算分配(Allocated Budget)', '实际开销(Actual Spending)']}); // 设置图例
- pkchart.setRadar("chart1",{indicator:[{ name: '销售', max: 6500},{ name: '管理', max: 16000},{ name: '信息技术', max: 30000},{ name: '客服', max: 38000},{ name: '研发', max: 52000},{ name: '市场', max: 25000}]});
- pkchart.setSeriesInfo("chart1",[{name: '预算 vs 开销(Budget vs spending)',type:"radar"}]);
- pkchart.setSeriesData("chart1", [[{value: [4300, 10000, 28000, 35000, 50000, 19000],name: '预算分配'},{value: [5000, 14000, 28000, 31000, 42000, 21000],name: '实际开销'}]]); //注意数据格式
专有事件
- onChange事件。当鼠标点击某个柱子时,触发onChange事件。参数:objectname,value。其中value包括:value,name等

专有动画关联
专有属性配置对话框