为什么不把k线图和分时图合并到一起?
SaberAlpha opened this issue · 21 comments
已经在重构的计划中。
我现在打算把分时图和k线图合拼起来,我的思路是drawTranslated()方法里加一个类型判断将蜡烛图替换为曲线图,用view.drawMainLine()方法进行绘制,在实体类加一个成交价格的字段
目前我有更好的方法。谢谢你的建议。
大神,你这个控件在处理tcp长连接传来的实时数据时的响应速度和性能怎样?
k线图和分时图绘制的都是显示区域的图像,没有多余的其他区域绘制,所以在性能速度上是能满足的。
大神,你重构的计划中k线图有没有打算分时间段进行选择显示?
分时间段显示是什么效果
主要是切换请求网络获取以不同时间端(10分,16分...)为单位的开高低收数据集合显示在k线图上,时间段单位越大k线越短,具体的你可以看看火币比特币这个app实现的效果
如果将VOL指标图独立出来,放置于现在的两个图表之间进行联动,有什么方法?
可以照着添加child的思路再添加一个区域,不过用现有的代码不是很好加,需要改动的较多。
请问处理两个图表联动的代码部分在哪一块?
@tifezh 我试着修改BaseKChartView#drawK方法中的canvas.translate(mTranslateX * mScaleX, 0);语句用到的mTranslateX 值 但未成功
@plplum 你可以试试这个,如果可以,我会加入到后续的更新中。
/**
* 获取平移的最小值
* @return
*/
private float getMinTranslateX() {
if (!isFullScreen()) {
return getMaxTranslateX();
}
return -mDataLen + mWidth / mScaleX - mPointWidth / 2;
}
/**
* 获取平移的最大值
* @return
*/
private float getMaxTranslateX() {
return mPointWidth / 2;
}
@plplum 改成从左边开始这么改也行:
/**
* 获取平移的最小值
* @return
*/
private float getMinTranslateX() {
if (isFullScreen()){
return -mDataLen + mWidth / mScaleX - mPointWidth / 2;
}else {
return 0;
}
}
/**
* 获取平移的最大值
* @return
*/
private float getMaxTranslateX() {
if (!isFullScreen()) {
return getMinTranslateX();
}
return mPointWidth / 2;
}