Giter Club home page Giter Club logo

android-kline's Introduction

android-kline

基于MPAndroidChart的专业K线图

email/qq [email protected] 欢迎大家和我一起维护这个项目

本项目通过继承的方式定制了最新版本的MPAndroidChart,没有修改MPAndroidChart的源代码,所以对已经使用了MPAndroidChart的童鞋不会造成影响。

  • 丰富的个性化接口,支持图表个性化定制。
  • 解决了多图表手势同步的问题
  • 解决多图表highlight联动的问题
  • 使用简单,两行代码就可以实现专业K线效果

Demo

demo

使用方式

在项目build.gradle中添加依赖:

 allprojects {
        repositories {
            jcenter()
            maven { url "https://jitpack.io" }
        }
   }
   dependencies {
        compile com.github.gzw19931217:android-kline:0.1.1'
   }

xml

    <com.guoziwei.klinelib.chart.KLineView
        android:id="@+id/kline"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

java init方法只能调用其中的一个

        KLineView kLineView = (KLineView) findViewById(R.id.kline);
        // 分时图
        kLineView.initChartPriceData(list);
        // K线图
        kLineView.initChartKData(list);

注意: 这里需要接收一个HisData的List,HisData需要如下的几个数据(开盘、收盘、最高、最低、买卖量、时间),其他的指标会根据公式计算出来

在本项目中,时间戳date相当于唯一的id,如果重复的话无法将这个data添加到图表中

  public HisData(double open, double close, double high, double low,  int vol, long date)

个性化:在你的项目中重新设置这些颜色的值

   <color name="marker_color">#be945c</color>
    <color name="marker_text_color">#333333</color>
    <color name="chart_grid_color">#333333</color>

    <color name="ma5">#823E66</color>
    <color name="ma10">#B99C7A</color>
    <color name="ma20">#3C7193</color>
    <color name="ma30">#7F9976</color>

    <color name="increasing_color">@color/main_color_red</color>
    <color name="decreasing_color">@color/main_color_green</color>
    <color name="normal_line_color">#be945c</color>
    <color name="ave_color">#bbbbbb</color>
    <color name="axis_color">#ffffff</color>
    <color name="chart_info_color">#88000000</color>
    <color name="chart_no_data_color">#be945c</color>
    <color name="highlight_color">#be945c</color>
    <color name="limit_color">#adadad</color>

自定义悬浮的信息提示:

继承ChartInfoView,然后在init方法前调用KLineViewsetChartInfoView方法。

此外,还可以通过下面的方法对图表和坐标进行个性化的定制。

    public AppCombinedChart getChartPrice() 

    public AppCombinedChart getChartVolume() 

    public XAxis getxAxisPrice() 

    public YAxis getAxisRightPrice() 

    public YAxis getAxisLeftPrice() 

    public XAxis getxAxisVolume() 

    public YAxis getAxisRightVolume() 

    public YAxis getAxisLeftVolume() 

这几个会获取到MPAndroidChart库的对象,可以根据MPAndroidChart的文档对其进行配置。

如果还有更复杂的需求,可以选择继承KLineView。

android-kline's People

Contributors

vinsonguo avatar

Stargazers

聂军 avatar

Watchers

James Cloos avatar

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.