AchartEngine圖表庫之動態折線圖(多條)
炫酷效果圖
實現步驟
1 設定點集
2 設定描繪器和圖表樣式<span style="font-size:18px;">public void addXYSeries(XYMultipleSeriesDataset dataset, String[] titles, int scale) { for (int i = 0; i < titles.length; i++) { series = new XYSeries(titles[i], scale); seriesList.add(series); dataset.addSeries(series); } }</span>
<span style="font-size:18px;">protected void setRenderer(XYMultipleSeriesRenderer renderer, int[] colors, PointStyle[] styles) { renderer.setAxisTitleTextSize(16); renderer.setChartTitleTextSize(20); renderer.setLabelsTextSize(15); renderer.setLegendTextSize(15); renderer.setPointSize(5f); renderer.setMargins(new int[]{20, 30, 15, 20});// 上,左,下,右 for (int i = 0; i < titles.length; i++) { XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(colors[i]); r.setPointStyle(styles[i]); r.setDisplayChartValues(true); r.setLineWidth(2f);// 寬度 r.setFillPoints(true);// 完全填充 r.setChartValuesSpacing(3); renderer.addSeriesRenderer(r); } }</span>
3 Handler+Timer模擬資料重新整理<span style="font-size:18px;"> protected void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle, String yTitle, double xMin, double yMin, double yMax, int axesColor, int labelsColor) { renderer.setChartTitle(title); renderer.setXTitle(xTitle);// X軸標題 renderer.setYTitle(yTitle);// Y軸標題 // renderer.setXAxisMin(xMin);// X最小值 renderer.setYAxisMin(yMin);// Y最小值 renderer.setYAxisMax(yMax);// Y最小值 renderer.setAxesColor(axesColor);// X軸顏色 renderer.setLabelsColor(labelsColor);// Y軸顏色 }</span>
<span style="font-size:18px;">private void sendMessage() {
handle = new Handler() {
public void handleMessage(Message msg) {
updatechart();
}
};
task = new TimerTask() {
public void run() {
Message msg = new Message();
msg.what = 200;
handle.sendMessage(msg);
}
};
timer.schedule(task, 0, 1000);
}</span>
4 重新整理圖表<span style="font-size:18px;">String xKeduValue = nowTime.format(new java.util.Date());
//得到x軸上點的數量
int seriesItemLenght = seriesList.get(0).getItemCount();
// x軸控制顯示10個數值
if (seriesItemLenght > xLenght) {
seriesItemLenght = xLenght;
}
// 移除舊的點集
for (int i = 0; i < titles.length; i++) {
dataset.removeSeries(seriesList.get(i));
}
if (seriesItemLenght < xLenght) {
for (int i = 0; i < titles.length; i++) {
seriesList.get(i).add(seriesItemLenght + 1, dataList.get(i));
}
renderer.addXTextLabel(seriesItemLenght + 1, xKeduValue);
xkedu[seriesItemLenght] = xKeduValue;
} else {
// 將x,y數值快取
for (int i = 0; i < seriesItemLenght - 1; i++) {
for (int j = 0; j < titles.length; j++) {
catchList.get(j)[i] = (float) seriesList.get(j).getY(i + 1);
}
xkedu[i] = xkedu[i + 1];
}
// 移除舊點
for (int i = 0; i < titles.length; i++) {
seriesList.get(i).clear();
}
// 新增新點,變換座標
for (int i = 0; i < seriesItemLenght - 1; i++) {
for (int j = 0; j < titles.length; j++) {
seriesList.get(j).add(i + 1, catchList.get(j)[i]);
}
renderer.addXTextLabel(i + 1, xkedu[i]);
}
xkedu[xLenght - 1] = xKeduValue;
for (int i = 0; i < titles.length; i++) {
seriesList.get(i).add(xLenght, dataList.get(i));
}
renderer.addXTextLabel(xLenght, xKeduValue);
}
for (int i = 0; i < titles.length; i++) {
dataset.addSeries(seriesList.get(i));
}
mChartView.invalidate();</span>
原始碼下載連結:
http://download.csdn.net/detail/huiling815/9651808
相關推薦
AchartEngine圖表庫之動態折線圖(多條)
炫酷效果圖 實現步驟 1 設定點集 <span style="font-size:18px;">public void addXYSeries(XYMultipleSeriesDataset dataset, String[] titles,
HelloCharts圖表庫之餅狀圖
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andro
HelloCharts圖表庫之柱狀圖
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an
Echarts-折線圖-多條線
//企業排名top5根據客車、貨車 var optionTwo={ tooltip: { trigger: 'axis',
echarts折線圖多條折線x軸不同,以及vue中引用
需求:echarts繪製多條折線,x軸間隔不同。效果圖: 資料格式分析:因為每條線的x軸不同,所以普通的渲染方式無法實現。解決辦法是series的資料格式 -- [ [x,y],[x,y] ].核心程式碼:1)小技巧--js時間格式化封裝 如果沒有引es6,可以直接
安卓 使用開源AChartEngine圖表庫畫折線圖
安卓 使用開源AChartEngine圖表庫畫折線圖 一、簡述 記--使用AChartEngine開源圖表庫繪製簡單的折線圖。 AChartEngine是一個開源的Android圖
HelloCharts圖表庫之折線圖
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an
vue專案中使用Echarts 動態更改圖表資料 , Vue 折線圖、柱狀圖等圖表動態重新整理 ,
問題:在vue元件中,用echarts外掛 動態獲取、修改圖表資料 解決:已解決! 第一步:開啟cmd命令視窗 安裝echarts依賴 安裝:npm install echarts -S 第二步:在main.js中全域性引入 //引入echarts的圖表外掛
echarts圖表之去掉折線圖的折點圓圈,實測有效
關鍵屬性:symbol: 'none', option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
Android之MPAndroidChart的動態折線圖
寫的太多,但是比較詳細import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.
數據庫之定義視圖
三種 圖的操作 新的 rom 大於等於 sql語句 表達 包括 with 視圖是從一張或多張基本表(或視圖)導出的表。與基本表不同,數據庫只會存放視圖的定義,而視圖中的數據還是存放在原來基本表中。視圖是基本表的映射,如果基本表發生了變化,則從視圖中查詢出的數據也會相應地發生
★ Python 使用Matplotlib庫繪製點圖、折線圖、條狀圖與餅圖
★使用Python第三方庫matplotlib(2D繪相簿)繪製常見的: 點圖 折線圖 條狀圖 餅圖 ★引入: 常用的顏色c="???": 1:紅色‘red’ &n
安卓 動態折線圖
安卓 動態折線圖 一、簡述 記--一個簡單的動態折線圖。資料為隨機數。 例子打包:連結: https://pan.baidu.com/s/12IdD6eayEvRPeFvoymuCcg 提取碼: 9vu7
Thinkphp3.2整合Jpgraph函式 生成統計折線圖(多圖)
最近做預約系統,為了整合Jpgraph函式弄了半天... 網站系統後臺是用:Thinkphp3.2.3 Jpgraph版本:jpgraph-3.5.0b1 如下圖所示類似效果~~ 首先Jpgraph程式碼放到如下位置: jpgraph.php和jpgraph
Android自定義控制元件之《折線圖的繪製》
金融軟體裡的行情分時圖,這是我們最常見的折線圖,當然了,折線圖的用途並不僅僅侷限於此,像一般在一定區間內,為了更好的能顯示出幅度的變化,那麼用折線圖來展示無疑是最符合效果的,當然了,網上也有很多的第
echarts圖表庫 實現簡單 雷達圖
<script type='text/javascript' src="js/echarts.js" charset='utf-8'></script> 2.核心程式碼
Python零基礎之——繪製折線圖、散點圖!
Python繪圖需要下載安裝matplotlib模組,它是一個數學繪相簿,我們將使用它來製作簡單的圖表,如折線圖和散點圖。關於matplotlib模組的下載安裝預配置將在後面具體介紹。 (一)繪製折線圖 首先,我們先繪製一個簡單的折線圖 # 呼叫模組 import matplotlib.
echarts 3 的入門使用(動態折線圖)
應專案需求需要資料動態視覺化,藉此來爛筆頭記下echarts3.6.2的使用方法. 一. 先做準備工作 1 .首先去官網下載所需要的echarts.js的相關程式碼,由於是開發環境,所以下載的是完整的echarts.js 2. 將echarts.js 直接引入專案
CanvasJS動態折線圖
var chart = new CanvasJS.Chart("chartContainer", { theme: "theme4", animationEnabled: true, axisX: { valueForm
R語言ggplot2包之畫折線圖
引言 折線圖一般用於描述一維變數隨著某一連續變數變化的情況,連續變數通常為時間。換句話說,折線圖最適合描述時間序列資料的變化情況。當然隨著離散變數變化也是可以的,不過這個離散變數必須是有序的。 畫一條折線圖 一條基本的折線圖還是比較簡單的,只要在ggp