HellChart折线图的基本使用

以前项目中用到HellChart折线图,今天翻自己的笔记发现了关于这个库的一些基本使用的笔记。整理下,如要以后用到折线图可以拿来参考一下。

特点:

  • 支持缩放、滑动以及平移。Zoom(pinch to zoom, double tap zoom), scroll and fling
  • 支持自定义坐标轴(比如坐标轴位置:上下左右内部),
  • 支持自动生成坐标轴。Custom and auto-generated axes(top, bottom, left, right, inside)
    动画(Animations)
  • 支持预览,即在chart下面会有一个坐标密度更细的附属chart,当选中附属chart的某一区域,附属chart上面的chart会显示选中区域的更详细情况。

基本使用:

库地址

布局代码


java代码

public class PerformanceRFFragment extends BaseFragment {
    @Bind(R.id.pie_chart)
    PieChartView mPieChart;
    //数据
    private PieChartData pieChardata;
    List values = new ArrayList();
    //定义数据,实际情况肯定不是这样写固定值的
    private int[] data = {21, 20, 9, 2, 8};
   
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.performance_report_forms_fragment, null);
        ButterKnife.bind(this, view);
        initView();
        return view;
    }
    protected void initView() {
        setPieChartData();
        initPieChart();
    }
    /**
     * 初始化控件
     */
    private void initPieChart() {
        pieChardata = new PieChartData();
        pieChardata.setHasLabels(true);//显示表情
        pieChardata.setHasLabelsOnlyForSelected(false);//不用点击显示占的百分比
        pieChardata.setHasLabelsOutside(false);//占的百分比是否显示在饼图外面
        pieChardata.setHasCenterCircle(true);//是否是环形显示
        pieChardata.setValues(values);//填充数据
        pieChardata.setCenterCircleColor(Color.WHITE);//设置环形中间的颜色
        pieChardata.setCenterCircleScale(0.5f);//设置环形的大小级别
        mPieChart.setPieChartData(pieChardata);
        mPieChart.setValueSelectionEnabled(true);//选择饼图某一块变大
        mPieChart.setAlpha(0.9f);//设置透明度
        mPieChart.setCircleFillRatio(1f);//设置饼图大小
    }

    /**
     * 获取数据
     */
    private void setPieChartData() {
        for (int i = 0; i < data.length; ++i) {
            SliceValue sliceValue = new SliceValue((float) data[i], Color.parseColor(getRandColorCode()));
            values.add(sliceValue);
        }
    }

    /**
     * 获取十六进制的颜色代码.例如  "#6E36B4" , For HTML ,
     *
     * @return String
     */
    public static String getRandColorCode() {
        String r, g, b;
        Random random = new Random();
        r = Integer.toHexString(random.nextInt(256)).toUpperCase();
        g = Integer.toHexString(random.nextInt(256)).toUpperCase();
        b = Integer.toHexString(random.nextInt(256)).toUpperCase();

        r = r.length() == 1 ? "0" + r : r;
        g = g.length() == 1 ? "0" + g : g;
        b = b.length() == 1 ? "0" + b : b;

        return "#" + r + g + b;
    }
    @Override
    public void onDestroyView() {
        super.onDestroyView();
        ButterKnife.unbind(this);
    }
}

参考地址:

CSDN

你可能感兴趣的:(HellChart折线图的基本使用)