Comments (5)
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.
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.
如果想要动态更新图表的某一个或者多个属性(非数据)的话, 适合用
aa_updateChartWithOptions
如果只是想要专门更新图表数据的话, 适合用
aa_onlyRefreshTheChartDataWithChartOptionsSeriesArray
from aachartcore-kotlin.
我的曲线更新很快,曲线点在100-200之间,请问我应当怎么写比较好
但是如你所说, 你的曲线图表更新频率很快. 由于 AAChartCore
这里的图表实际上还是通过 Highchart
和 WebView
等非原生技术来绘制的, 本身就存在性能瓶颈, 因此我个人觉得你最好还是应该换成使用其他的原生图表库来实现图表的高频刷新数据功能.
from aachartcore-kotlin.
我需要跟新的数据就两个,一个是曲线值Y坐标值,一个是X坐标值,快速的追加最后一条而已,原来的方法存在先缩小绘制完成在放大过程,然后在这个过程中就会有卡顿现场,我目前调整为使用第一次绘制方法(一次性绘制所有)就很快
from aachartcore-kotlin.
Related Issues (20)
- X轴坐标如何自定义 HOT 1
- 怎么设置只有部分图表可以点击 HOT 1
- 调用chart.tooltip.refresh(points); 没有回调chartViewMoveOverEventMessage(aaChartView: AAChartView, messageModel: AAMoveOverEventMessageModel)
- 最新7.2.1版本获取不到AAOptions对象
- 当有多条折线时,添加AAChartEvents,只有一条折线上显示了选中默认点 HOT 1
- Is there a way to disable stickyTracking? HOT 2
- [建议] 能否和Glide库一样自带混淆规则
- AAChartModel can't modified programmaticaly ? HOT 6
- How can I change the size of the font of the xAxis and yAxis? HOT 3
- 大神,pro版本什么时候能上啊?目前还不支持sankey! HOT 2
- 如何禁用图例的点击事件 HOT 8
- 使用yAxisMax = 220,但是画出来的图标却是400 HOT 5
- 图表无法左右滑动 HOT 1
- y轴想要显示2000,结果显示成了2k HOT 1
- 什么时候可以支持矩形树图? HOT 6
- How to custom yAxis value HOT 2
- 在Fragment中使用出现内存泄漏的情况 LeakCanary HOT 1
- compose 使用AndroidView方式创建图表不显示
- 请问怎样实现外部滑块指示器联动
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aachartcore-kotlin.