echarts [Bug] series-candlestick.markPoint. symbolRotate support the Callback func, But actually NOT!

kulphzqa  于 2022-11-02  发布在  Echarts
关注(0)|答案(1)|浏览(286)

Version

4.8.0

  • No response*

Steps to Reproduce

The Official documents says, "Callback is supported since 4.8.0 ." BUT I test it doesn't work!

Code like below:

series: [{
            name: this.id,
            type: 'candlestick',
            data: this.klines,
            itemStyle: {
                color: Color.Red,
                color0: Color.Green,
                borderColor: Color.Red,
                borderColor0: Color.Green
            },
            markPoint: {
                symbol: function (value, params) {
                    var trade_type = params.data.trade_type;
                    if (trade_type === TradeType.OPEN_LONG
                        || trade_type === TradeType.OPEN_SHORT) {
                        return "arrow"
                    }
                    if (trade_type === TradeType.CLOSE_LONG
                        || trade_type === TradeType.CLOSE_SHORT) {
                        return "diamond"
                    }
                },
                // symbolRotate: -90,  // 负数为顺时针旋转!
                // https://www.jianshu.com/p/9030e06f3fce  #拐点利用箭头显示当时风向
                // symbolRotate: 官方说从4.8.0版本支持回调函数,但测试结果没用啊!
                symbolRotate: function (value, params) {
                    // var trade_type = params.data.trade_type;
                    // if (trade_type === TradeType.CLOSE_LONG
                    //     || trade_type === TradeType.OPEN_SHORT) {
                    //     return 180 // 图标翻转180°
                    // }
                    return 180    //**没效果,根本就不支持回调!**
                },
                symbolSize: 15,
                label: {
                    // 可以设置很多参数,默认就好!
                    formatter: function (params) {
                        // return "";
                        return params.data.desc;
                    }
                },
                itemStyle: {
                    color: Color.Yellow
                },
                data: this.tradePoints
            },
}

Current Behavior

When i set symbolRotate: func() { ... } It does do work, BUT symbol not rotate actully.

Expected Behavior

Like upstair...

Environment

- OS: Linux X86_64 CentOS
- Browser: Python3 QT5 Gui
- Framework: Intellij IDEA

from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
from PyQt5.QtCore import QUrl

Any additional comments?

  • No response*
nqwrtyyt

nqwrtyyt1#

This is a bug in fact. markPoint supports the callback function for symbolRotate , it's only for a single data item though, which is less useful. It's better to support this callback function at the component level. (Not the same issue)

It seems to be working for me. Demo

相关问题