Giter Site home page Giter Site logo

Comments (5)

AAChartModel avatar AAChartModel commented on September 26, 2024
   fun aa_updateChartWithOptions(
        options: Any,
        redraw: Boolean
    ) {
        val isAAOptionsClass = options is AAOptions
        val finalOptionsMapStr: String
        if (isAAOptionsClass) {
            val aaOptionsMapStr = Gson().toJson(options)
            finalOptionsMapStr = aaOptionsMapStr
        } else {
            var classNameStr = options.javaClass.simpleName
            classNameStr = classNameStr.replace("AA", "")

            //convert fist character to be lowercase string
            val firstChar = classNameStr.substring(0, 1)
            val lowercaseFirstStr = firstChar.toLowerCase(Locale.ROOT)
            classNameStr = classNameStr.substring(1)
            val finalClassName = lowercaseFirstStr + classNameStr
            val finalOptionsMap = HashMap<String, Any>()
            finalOptionsMap[finalClassName] = options
            val optionsStr = Gson().toJson(finalOptionsMap)
            finalOptionsMapStr = optionsStr
        }
        val javaScriptStr = "updateChart('$finalOptionsMapStr','$redraw')"
        safeEvaluateJavaScriptString(javaScriptStr)
    }

从上面的 AAChartView 的源码内容中可以看出, aa_updateChartWithOptions 实际上调用的是 Highcharts 的这个方法:

对应的 Highcharts 在线 demo 如下:

from aachartcore-kotlin.

AAChartModel avatar AAChartModel commented on September 26, 2024
    fun aa_onlyRefreshTheChartDataWithChartOptionsSeriesArray(
        seriesElementsArr: Array<AASeriesElement>,
        animation: Boolean
    ) {
        val seriesArr = Gson().toJson(seriesElementsArr)
        val javaScriptStr = "onlyRefreshTheChartDataWithSeries('$seriesArr','$animation')"
        safeEvaluateJavaScriptString(javaScriptStr)
    }

aa_onlyRefreshTheChartDataWithChartOptionsSeriesArray 方法实际上调用的是 Highcharts 的这个方法:

from aachartcore-kotlin.

AAChartModel avatar AAChartModel commented on September 26, 2024

如果想要动态更新图表的某一个或者多个属性(非数据)的话, 适合用

  • aa_updateChartWithOptions

如果只是想要专门更新图表数据的话, 适合用

  • aa_onlyRefreshTheChartDataWithChartOptionsSeriesArray

from aachartcore-kotlin.

AAChartModel avatar AAChartModel commented on September 26, 2024

我的曲线更新很快,曲线点在100-200之间,请问我应当怎么写比较好

但是如你所说, 你的曲线图表更新频率很快. 由于 AAChartCore 这里的图表实际上还是通过 HighchartWebView 等非原生技术来绘制的, 本身就存在性能瓶颈, 因此我个人觉得你最好还是应该换成使用其他的原生图表库来实现图表的高频刷新数据功能.

from aachartcore-kotlin.

panyingdaoz avatar panyingdaoz commented on September 26, 2024

我需要跟新的数据就两个,一个是曲线值Y坐标值,一个是X坐标值,快速的追加最后一条而已,原来的方法存在先缩小绘制完成在放大过程,然后在这个过程中就会有卡顿现场,我目前调整为使用第一次绘制方法(一次性绘制所有)就很快

from aachartcore-kotlin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.