1. 程式人生 > >Android 實用hellocharts實現柱狀圖、線狀圖

Android 實用hellocharts實現柱狀圖、線狀圖

1:Android Studio新增依賴

在app的build gradle中新增依賴

compile 'com.github.lecho:hellocharts-library:[email protected]'

2:佈局中

我這裡是用的柱狀圖,線狀圖是linechartview

<lecho.lib.hellocharts.view.ColumnChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="240dp"
android:paddingTop=
"24dp"/>

3:程式碼中

@BindView(R.id.chart)
ColumnChartView mChartView;

public final static String[] xValues = new String[]{"", "1", "2", "3", "4"};
private int month;
private SubcolumnValue subcolumnValue;

...

@Override
protected void initView(View view) {
    super.initView(view);

    initChartViews();

}

@RequiresApi
(api = Build.VERSION_CODES.LOLLIPOP) private void initChartViews() { List<Column> columnList = new ArrayList<>(); //柱子列表 List<SubcolumnValue> subcolumnValueList; //子柱列表(即一個柱子,因為一個柱子可分為多個子柱) List<AxisValue> axisValues = new ArrayList<>(); for (int i = 1; i <= xValues.length-1; i++) {
subcolumnValueList = new ArrayList<>(); //獲取資料處理 if (i == 1 || i == 0) { subcolumnValue = new SubcolumnValue(); subcolumnValue.setValue(5.8f); if (i <= month) { subcolumnValue.setColor(getResources().getColor(R.color.oval_red)); } else { subcolumnValue.setColor(getResources().getColor(R.color.charts_color)); } subcolumnValueList.add(subcolumnValue); } if (i == 2) { subcolumnValue = new SubcolumnValue(); subcolumnValue.setValue(6.0f); if (i <= month) { subcolumnValue.setColor(getResources().getColor(R.color.oval_red)); } else { subcolumnValue.setColor(getResources().getColor(R.color.charts_color)); } subcolumnValueList.add(subcolumnValue); } if (i >= 3) { subcolumnValue = new SubcolumnValue(); subcolumnValue.setValue(7.0f); if (i <= month) { subcolumnValue.setColor(getResources().getColor(R.color.oval_red)); } else { subcolumnValue.setColor(getResources().getColor(R.color.charts_color)); } subcolumnValueList.add(subcolumnValue); } Column column = new Column(subcolumnValueList); columnList.add(column); //是否有資料標註 column.setHasLabels(true);//☆☆☆☆☆設定列標籤 //是否是點選圓柱才顯示資料標註 column.setHasLabelsOnlyForSelected(true); //TODO 這一步是能讓圓柱標註資料顯示帶小數的重要一步 ColumnChartValueFormatter chartValueFormatter = new SimpleColumnChartValueFormatter(1); column.setFormatter(chartValueFormatter); //x軸座標設定描述 axisValues.add(new AxisValue(i - 1).setLabel(xValues[i])); } //圖形資料載入 ColumnChartData columnChartData = new ColumnChartData(columnList); mChartView.setZoomEnabled(false);//手勢縮放 mChartView.setInteractive(true);//設定圖表是可以互動的(拖拽,縮放等效果的前提) mChartView.setZoomType(ZoomType.HORIZONTAL);//設定縮放方向 Axis axisX = new Axis(axisValues);//xAxis axisY = new Axis();//y//是否顯示網格線 axisY.setHasLines(true); axisY.hasLines(); axisX.setTextSize(12); // axisX.setName("時間/"); // axisY.setName(getResources().getString(R.string.expect_income_tariff)); axisX.setTextColor(getResources().getColor(R.color.black_333)); axisY.setTextColor(getResources().getColor(R.color.black_333)); //設定傾斜顯示在柱子內部 // axisX.setInside(true); // axisX.setHasTiltedLabels(true); columnChartData.setFillRatio(0.5F);//引數即為柱子寬度的倍數,範圍只能在01之間 //設定顯示的資料背景、字型顏色 columnChartData.setValueLabelsTextColor(getResources().getColor(R.color.black_333));// 設定資料文字顏色 columnChartData.setValueLabelBackgroundEnabled(false); columnChartData.setAxisXBottom(axisX); columnChartData.setAxisYLeft(axisY); //把資料放到控制元件中 mChartView.setColumnChartData(columnChartData); //設定豎線 Viewport v = new Viewport(mChartView.getMaximumViewport()); v.top = 7.2f; v.bottom = 5.4f; mChartView.setMaximumViewport(v); v.left = -0.5f; v.right = 6; mChartView.setCurrentViewport(v); }

4:搞定!

相關推薦

Android 實用hellocharts實現

1:Android Studio新增依賴 在app的build gradle中新增依賴 compile 'com.github.lecho:hellocharts-library:[email protected]' 2:佈局中 我這裡是用的柱狀圖,線狀圖是l

原生js和canvas實現折線

轉載來自https://blog.csdn.net/u013302113/article/details/77985744 <html> <head lang="en"> </head> <body> &

Android折線

1、效果圖 2、程式碼 1)compile ‘com.github.PhilJay:MPAndroidChart:v3.0.1’ 2)柱狀圖 <com.github.mikephil.charting.charts.BarChart

Android之玩轉MPAndroidChart讓(折線雜湊雷達)優雅的舞動

package com.example.chenyu.mpandroidcharttest; import android.app.Fragment; import android.graphics.Color; import android.os.Bundle; import android.suppor

PHP jpgraph庫的配置及生成統計圖表:折線

此文為轉載,僅作儲存文件使用,轉自:http://blog.csdn.net/aoshilang2249/article/details/46956163 注意:原文中提到配置php.ini中的include_path,親測不需要配置(gd2需要開啟),只需要將下載的檔案引入專案即可

python3繪圖示例2(基於matplotlib:分布三角等)

ims 標準 and odi dom2 lam you vars update #!/usr/bin/env python# -*- coding:utf-8 -*-from matplotlib import pyplot as pltimport numpy as np

echarts4實現折線動態資料分離重新整理資料

程式碼例項:  var monthByCorp3Chart;  var monthByCorp3Option={};   $(function() {     monthByCorp3Chart = echarts.i

echarts 外掛開發折線(具有詳細的註釋)

<div id="popInfoDriverTotal" class="popBox" style="left:50px; top:60px"> <h2 class="gytitle"><em>分析圖表</em><spa

java 生成等圖片

package com.sinosoft.webmodule.landLibrary; import java.awt.Color; import java.awt.Font; import java.io.File; import java.io.FileOutputSt

WPF專案中使用折線

在開發的過程中,可能會遇到柱狀圖、餅狀圖、折線圖來更好的顯示資料,最近整理了一下,遂放出來望需要的朋友可以參考。本文僅僅是簡單顯示,如需複雜顯示效果請參考官網程式碼示例。----本文程式碼使用WPF,Silverlight類似程式碼,使用第三方wpf_visifire_v5

iOS圖形繪製 UIBezierPath 繪製折線餅形

iOS圖形繪製 UIBezierPath 繪製折線圖、柱狀圖以及餅形圖(感謝Mr_Wendao,如果想檢視餅形圖原始碼請點選連線,餅形圖我借鑑了Mr_Wendao的程式碼學習,再次感謝)。 先看一下程式碼的效果圖 如下圖 下面是主要程式碼 在初始化

JavaWeb視覺化:Web+Echarts案例:豆瓣日劇豆列電影資訊視覺化(折線

柱狀圖案例 柱狀圖用來比較多專案的數值情況,從構成上來說,柱狀圖以座標軸上的長方形元素作為變數,以此來達到展現並比較資料情況的目的。柱狀圖形式多種多樣,以適應不同場合資料展示,常用的有如下形式: 常用配置項引數: title:標題元件,包含主標題和副標題。 t

JS外掛實現圖表顯示(曲線圖表形圖表圖表)

先看效果圖: 程式碼如下: <span style="font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

★ Python 使用Matplotlib庫繪製點折線與餅

★使用Python第三方庫matplotlib(2D繪相簿)繪製常見的: 點圖 折線圖 條狀圖 餅圖 ★引入: 常用的顏色c="???":             1:紅色‘red’ &n

android多框架實現短視訊應用3D手勢旋轉banner控制元件指南針智慧管家等應用原始碼

Android精選原始碼 android智慧管家app原始碼 Android高仿拼多多分類列表 Android百度地圖例項詳解之仿摩拜單車APP RecyclerView的LayoutManager搭建流式佈局 Android自定義View分享——一個圓形

使用自定義View來實現K分時

廢話不多說 先上效果圖 實現原理 1.分時圖 分時圖一般有兩條線,一條均價線,一條時價線。其實每條線都是由很多點組合而來,通過canvas.drawLine方法將每兩個點進行連線,最終繪製出分時圖。 2.K線圖 K線圖是由一個一個的矩形組合而來,每個矩形代表

Android JNI層實現檔案的readwrite與seek操作

轉自:http://blog.csdn.net/conowen/article/details/7525837 /*******************************************************************************

vc6.0畫走勢折線的準備工作

VC中畫這些圖,需要使用到畫圖控制元件,步驟如下: 1.下載MSCHART20.OCX ,放到C:\Windows\System32目錄下。 2.註冊控制元件。在cmd中鍵入 regsvr32 C:\Windows\System32\mschart20.ocx; 3 將控制

Android的NDK開發(5)————Android JNI層實現檔案的readwrite與seek操作

/********************************************************************************************  * author:conowen@大鐘                      

功能架構信息結構產品結構的區別和繪制方法

功能結構 信息結構 產品結構 互聯網產品 一、功能架構圖 1. 定義 功能結構圖就是以功能模塊為類別,介紹模塊下其各功能組成的圖表,體現了產品功能的同時,也展示了功能的從屬關系。 2. 作用: 產品設計時,輔助思路梳理,避免功能概念模糊、缺失。 3. 註意點: 繪制功能結構時,盡量避免出現信息