提交 c9fd23f9 编写于 作者: P pah100

tweak

上级 3e9f2396
......@@ -136,7 +136,8 @@ define(function(require) {
var foundOtherAxisModel;
ecModel.eachComponent(otherAxisDim + 'Axis', function (otherAxisModel) {
if ((otherAxisModel.get(coordSysIndexName) || 0)
=== (axisModel.get(coordSysIndexName) || 0)) {
=== (axisModel.get(coordSysIndexName) || 0)
) {
foundOtherAxisModel = otherAxisModel;
}
});
......@@ -196,21 +197,25 @@ define(function(require) {
// FIXME
// Toolbox may has dataZoom injected. And if there are stacked bar chart
// with NaN data. NaN will be filtered and stack will be wrong.
// So we need to force the mode to be set empty
// with NaN data, NaN will be filtered and stack will be wrong.
// So we need to force the mode to be set empty.
// In fect, it is not a big deal that do not support filterMode-'filter'
// when using toolbox#dataZoom, utill tooltip#dataZoom support "single axis
// selection" some day, which might need "adapt to data extent on the
// otherAxis", which is disabled by filterMode-'empty'.
var otherAxisModel = this.getOtherAxisModel();
if (dataZoomModel.get('$fromToolbox')
&& otherAxisModel && otherAxisModel.get('type') === 'category') {
&& otherAxisModel
&& otherAxisModel.get('type') === 'category'
) {
filterMode = 'empty';
}
// Process series data
each(seriesModels, function (seriesModel) {
var seriesData = seriesModel.getData();
if (!seriesData) {
return;
}
each(seriesModel.coordDimToDataDim(axisDim), function (dim) {
seriesData && each(seriesModel.coordDimToDataDim(axisDim), function (dim) {
if (filterMode === 'empty') {
seriesModel.setData(
seriesData.map(dim, function (value) {
......
......@@ -36,6 +36,7 @@ define(function (require) {
var axisProxy = dataZoomModel.findRepresentativeAxisProxy();
var percentRange = axisProxy.getDataPercentWindow();
var valueRange = axisProxy.getDataValueWindow();
dataZoomModel.setRawRange({
start: percentRange[0],
end: percentRange[1],
......
<html>
<head>
<meta charset="utf-8">
<script src="esl.js"></script>
<script src="config.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<style>
html, body, #main {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
<div id="main"></div>
<script>
require([
'echarts',
'echarts/chart/scatter',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'echarts/component/toolbox',
'echarts/component/dataZoom'
], function (echarts) {
chart = echarts.init(document.getElementById('main'), null, {
renderer: 'canvas'
});
var data1 = [];
var data2 = [];
var data3 = [];
var xAxisData = [];
var yAxisData = [];
var random = function (max) {
return (Math.random() * max).toFixed(3);
};
for (var i = 0; i <= 10; i++) {
xAxisData.push(i + '');
}
for (var i = 0; i <= 30; i++) {
yAxisData.push(i + '');
}
for (var i = 0; i < 30; i++) {
data1.push([
Math.round(random(10)),
Math.round(random(30))//,
// Math.round(random(100))
]);
data2.push([
Math.round(random(10)),
Math.round(random(30))//,
// Math.round(random(100))
]);
data3.push([
Math.round(random(10)),
Math.round(random(30))//,
// Math.round(random(100))
]);
}
chart.setOption({
legend: {
data: ['scatter', 'scatter2', 'scatter3']
},
toolbox: {
// y: 'bottom',
feature: {
dataView: {},
dataZoom: {
show: true,
yAxisIndex: false
},
restore: {show: true},
saveAsImage: {}
}
},
tooltip: {
},
dataZoom: [
{
show: true,
xAxisIndex: [0],
// If set to 'filter', y axis will be effected by x dataZoom
filterMode: 'empty',
start: 0,
end: 100
},
{
show: true,
yAxisIndex: [0],
filterMode: 'empty',
start: 0,
end: 20
},
{
type: 'inside',
xAxisIndex: [0],
filterMode: 'empty',
start: 0,
end: 100
},
{
type: 'inside',
yAxisIndex: [0],
filterMode: 'empty',
start: 0,
end: 20
}
],
xAxis: {
type: 'category',
splitLine: {
show: true
},
data: xAxisData
},
yAxis: {
type: 'category',
splitLine: {
show: true
},
data: yAxisData
},
series: [
{
name: 'scatter',
type: 'scatter',
itemStyle: {
normal: {
opacity: 0.8,
// shadowBlur: 10,
// shadowOffsetX: 0,
// shadowOffsetY: 0,
// shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
symbolSize: function (val) {
return val[0] * 4;
},
data: data1
},
{
name: 'scatter2',
type: 'scatter',
itemStyle: {
normal: {
opacity: 0.8
}
},
symbolSize: function (val) {
return val[0] * 4;
},
data: data2
},
{
name: 'scatter3',
type: 'scatter',
itemStyle: {
normal: {
opacity: 0.8,
}
},
symbolSize: function (val) {
return val[0] * 4;
},
data: data3
}
]
});
// console.profileEnd('setOption');
})
window.onresize = function () {
chart.resize();
};
</script>
<!-- // <script src="js/memory-stats.js"></script> -->
<!-- // <script src="js/memory.js"></script> -->
</body>
</html>
\ No newline at end of file
......@@ -23,6 +23,7 @@
'echarts/component/title',
'echarts/component/legend',
'echarts/component/tooltip',
'echarts/component/toolbox',
'zrender/vml/vml',
'theme/vintage'
......@@ -52,6 +53,11 @@
yAxis: {
type : 'value'
},
toolbox: {
feature: {
dataZoom: {}
}
},
series: [
{
type: 'graph',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册