java繪圖 曲線圖,柱狀圖等 ?

時間 2021-06-08 07:47:39

1樓:快樂領讀

可以試試 echart

這是柱狀圖:

List aa = this.getData();

this.userResponseList = aa;

Result result = new Result<>();

Map returnDataMap = new HashMap<>();//用來裝返回的資料的map

List records = userResponseList;//這是從資料庫查出來的資料

List legend = new ArrayList<>();//用來裝該柱狀圖的名字的

List echarts1 = new ArrayList<>();這是裝柱狀圖的資料的是乙個list陣列

List echarts2 = new ArrayList<>();

List echarts3 = new ArrayList<>();

List echarts = new ArrayList<>();//這是為了響應起前段的乙個實體類。類的屬性如下

String xAxis = null;//x軸就是時間軸,也是乙個陣列。

xAxis = new String[userResponseList.size()];//x軸的大小取決於陣列的大小

//迴圈DB資料的大小

for (int i = 0; i < userResponseList.size(); i++) {

//給x軸寫入資料

xAxis[i] = records.get(i).getStatisticTime().toLocaleString();

//給每乙個樹狀圖填充資料

echarts1.add(records.get(i).getOnLineUserCount());

echarts3.add(records.get(i).getDayIncreaseUserCount());

echarts2.add(records.get(i).getDayLoginCount());

EchartsEntity entity1 = new EchartsEntity(userResponseList.get(0).getOnLineUserCountName(), "bar", echarts1, "");

EchartsEntity entity2 = new EchartsEntity(userResponseList.get(0).getDayLoginCountName(), "bar", echarts2, "");

EchartsEntity entity3 = new EchartsEntity(userResponseList.get(0).getDayIncreaseUserCountName(), "bar", echarts3, "");

echarts.add(entity1);

echarts.add(entity2);

echarts.add(entity3);

//給組裝圖填充名字

legend.add(userResponseList.get(0).getOnLineUserCountName());

legend.add(userResponseList.get(0).getDayLoginCountName());

legend.add(userResponseList.get(0).getDayIncreaseUserCountName());

returnDataMap.put("xAxis", xAxis);

returnDataMap.put("series", echarts);

returnDataMap.put("legend", legend);

result.setResult(returnDataMap);

result.setMessage("查詢成功");

return result;

以上就是柱狀圖的;

折線圖大致差不多,就是折線的型別需要修改一下

List aa = this.getData();

this.userResponseList = aa;

String xAxis = null;//x軸

List records = userResponseList;

List lineColor = new ArrayList<>();//放置折線圖每條資訊的顏色

List echarts1 = new ArrayList<>();//折線1

List echarts2 = new ArrayList<>();//折線2

List echarts3 = new ArrayList<>();//折線3

List echarts = new ArrayList<>();

Result result = new Result<>();

xAxis = new String[userResponseList.size()];//x軸的長度

for (int i = 0; i < userResponseList.size(); i++) {//迴圈mysql結果

xAxis[i] = records.get(i).getStatisticTime().toLocaleString();//我是以時間作為x軸

echarts1.add(records.get(i).getOnLineUserCount());//折線1

echarts2.add(records.get(i).getDayLoginCount());//折線2

echarts3.add(records.get(i).getDayIncreaseUserCount());//折線3

EchartsEntity entity1 = new EchartsEntity(userResponseList.get(0).getOnLineUserCountName(), "line", echarts1, "總量");

EchartsEntity entity2 = new EchartsEntity(userResponseList.get(0).getDayLoginCountName().

toString(), "line", echarts2, "總量");

EchartsEntity entity3 = new EchartsEntity(userResponseList.get(0).getDayIncreaseUserCountName(), "line", echarts3, "總量");

echarts.add(entity1);

echarts.add(entity2);

echarts.add(entity3);

lineColor.add(userResponseList.get(0).getOnLineUserCountName());

lineColor.add(userResponseList.get(0).getDayLoginCountName());

lineColor.add(userResponseList.get(0).getDayIncreaseUserCountName());

Map ret = new HashMap<>();

ret.put("xAxis", xAxis);//x軸資訊

ret.put("series", echarts);//折線內容

ret.put("legend", lineColor);//折線顏色和折線顏色所代表的的資訊

result.setResult(ret);

return result;

Qt painter在QImage上繪圖?

諸葛不亮 六樓 QImage 構造要傳遞大小 RGB在 QImage畫之前要要初始化QImage所有畫素 image new QImage ui centralWidget width 92,ui centralWidget height 62,QImage Format RGB32 QRgb va...

如何提高cad繪圖速度

要想提高CAD的繪圖速度。我認為需要滿足以下幾點 第一 善於把要繪製的圖形讀懂。讀懂需要繪製的圖形,並理清圖紙的幾何結構關係 圖紙的空間關係,記住圖紙的尺寸。如果你已經讀懂圖紙,並且把圖紙的引數 圖形幾何關係牢記於心,那麼你完全可以不用再看圖紙而隨心所欲的發揮繪圖效率了。第二 在設計繪圖時,記住甲方...

該如何作一條已知曲線的等距曲線?

皮拉夫都打我 曲線不存在平行的概念,但非歐幾何裡有這個概念,比如同心圓構成的圓環就是 平行曲線 推廣到任意曲線就是要找到一曲線的任意一段的曲率圓,就是可以用圓的一部分圓弧代替曲線的一小段的那種圓,然後找到具有相同曲率圓的另外一條曲線,那麼這兩條曲線可以看作 平行曲線 精度的控制在於曲率圓與曲線的密切...