hihibaibai opened a new issue, #21340: URL: https://github.com/apache/echarts/issues/21340
### Version 6.0.0 ### Link to Minimal Reproduction https://echarts.apache.org/examples/zh/editor.html?c=bar-y-category-stack ### Steps to Reproduce I'm trying to make a gantt, and would like draw the graph by myself. And I put key-value dataset in series, then use api.value() function to get the data so I can draw the graph. Here is the option that I use not working properly ``` option = { title: { text: "Custom Series Example" }, xAxis: { type: "value", show: true, min: new Date('2025-11-04').getTime(), max: new Date('2025-11-10').getTime(), interval: 24 * 60 * 60 * 1000, axisLabel: { formatter: function(value) { return new Date(value).toISOString().split('T')[0]; } } }, yAxis: { type: "value", min: 0, max: 100 }, series: [{ type: "custom", coordinateSystem: 'cartesian2d', renderItem: function(params, api) { var point = api.coord([api.value(0), api.value(1)]); console.log(params); console.log(api); console.log(point); var centerX = api.getWidth() / 2; var centerY = api.getHeight() / 2; var size = 50; return { type: 'rect', shape: { x: centerX - size / 2, y: centerY - size / 2, width: size, height: size }, style: { fill: '#000000' } }; }, dimensions: [ {name:'x', type: 'ordinal'}, {name:'y', type: 'ordinal'}, ], data: [ {x: new Date('2025-11-04').getTime(), y: '50'}, // {x: '2025-11-05', y: '60'}, // {x: '2025-11-06', y: '70'} ] }] }; ``` The option above will print api in console. And I try "api.value(0)","api.value('x')", it returns NaN. I'm expecting '2025-11-05'. I read options documentation, no explaination about key-value set. ### Current Behavior The option above will print api in console. And I try "api.value(0)","api.value('x')", it returns NaN. ### Expected Behavior I'm expecting '2025-11-05' on call of "api.value('x')" ### Environment ```markdown - OS: - Browser: - Framework: ``` ### Any additional comments? Then I try this option: `option = { title: { text: "Custom Series Example" }, xAxis: { type: "value", show: true, min: new Date('2025-11-04').getTime(), max: new Date('2025-11-10').getTime(), interval: 24 * 60 * 60 * 1000, axisLabel: { formatter: function(value) { return new Date(value).toISOString().split('T')[0]; } } }, yAxis: { type: "value", min: 0, max: 100 }, series: [{ type: "custom", coordinateSystem: 'cartesian2d', renderItem: function(params, api) { var point = api.coord([api.value(0), api.value(1)]); console.log(params); console.log(api); console.log(point); var centerX = api.getWidth() / 2; var centerY = api.getHeight() / 2; var size = 50; return { type: 'rect', shape: { x: centerX - size / 2, y: centerY - size / 2, width: size, height: size }, style: { fill: '#000000' } }; }, dimensions: [ {name:'x', type: 'ordinal'}, {name:'y', type: 'ordinal'}, ], data: [ [new Date('2025-11-04'),'50'], // {x: '2025-11-05', y: '60'}, // {x: '2025-11-06', y: '70'} ] }] };` This time, I can get the value from api.value(0). I have no idea why this will happen. And there is no function to tell me what value I can use. It will be nice if there is a function for debugging. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
