Android使用j4lChartAndroid外掛繪製3D餅圖
阿新 • • 發佈:2019-01-26
圖表是常見的直觀表示資料的途徑,目前在android手機上繪製圖表基本有兩種方法:一是利用java的canvas自己繪製,這種方法自己可操作性強,可以隨心所欲地繪製,但是缺點就是工作量大;二是利用第三方外掛。本文將給大家介紹一下利用第三方外掛j4lChartAndroid如何繪製一個3D餅圖。效果如圖:
提供j4lChartAndroid.jar檔案 點選開啟連結 也可以下載文章最後的demo,裡面也有這個外掛。
奉上主體繪製圖表的函式
細心的小夥伴會發現,在圖例的最上方有個討厭的水印,去掉它很簡單,在程式碼public static Chart TheChart() { //new出來一個圖餅的物件, 引數簡介1.所佔的比例 2.顏色 3.是否分組(是否種其他的塊是分開的) 4.文字介紹 PieDataSerie pds = new PieDataSerie(values, fillStyleColor, groupValues, null); //設定label的樣式 pds.valueFont = GraphicsProvider.getFont("Arial", ChartFont.PLAIN, 20); //設定label到中心的距離 pds.textDistanceToCenter = 1.4; //設定圖餅的標題 Title title = new Title("理財賬戶"); //開始繪圖 PiePlotter pp = new PiePlotter(); //設定3D效果為true pp.effect3D = true; //設定邊框 pp.border = new LineStyle(1,GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL); //設定label的格式(#PERCENTAGE#,#VALUE#,#LABEL#)什麼也不想顯示的話直接“ ”裡面有一個空格就可以了 pp.labelFormat = "#PERCENTAGE#"; //設定半徑 pp.radiusModifier = 1.5; //設定塊與塊之間的間隔 pp.space = 10; //設定label到塊之間的線的樣式 pp.labelLine = new LineStyle(1,GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL); //生成一個物件 Legend legend = new Legend(); //因為我這裡不需要解說,所以設定它為" ",中間有空格,沒有空格的話,會出現多餘的文字 legend.legendLabel=""; for (int i = 0; i < values.length; i++) { legend.addItem(lableName[i], new FillStyle(color[i])); } //new一個圖表物件,用來存放生成的圖餅 com.java4less.rchart.Chart chart = new com.java4less.rchart.Chart(title, pp, null, null); chart.layout = com.java4less.rchart.Chart.LAYOUT_LEGEND_TOP; chart.back = new FillStyle(GraphicsProvider.getColor(ChartColor.WHITE)); chart.topMargin = 0.2; chart.bottomMargin = 0.1; chart.leftMargin =0.1; chart.legend = legend; chart.setHeight(width/3*2); chart.setWidth(height/3*2); chart.addSerie(pds); return chart; }
legend.legendLabel="";
需要在引號中加個空格,否則無論賦什麼值都會有這個水印
使用這個函式,除了準備資料等初值之外,還需宣告一個chartpanel,用chartpanel的setchart方法將該函式返回的chart傳進去,再將這個chartpanel新增到linearlayout中顯示。最後注意,在頁面銷燬時要chartpanel.getChart().stopUpdater(),如果需要重新整理餅圖,首先要先清除掉linearlayout中的view,再重新新增
最後奉上自己的demo ,如有不足之處,還望大家指出! 點選開啟連結