java柱狀圖,java實現柱狀圖

本文目錄一覽:

怎麼用java的相關類去畫一個柱狀圖

可以使用java第三方JFreeChart的api:具體

import java.awt.Color;

import java.awt.GradientPaint;

import org.jfree.chart.ChartFactory;

import org.jfree.chart.JFreeChart;

import org.jfree.chart.axis.CategoryAxis;

import org.jfree.chart.axis.CategoryLabelPositions;

import org.jfree.chart.axis.NumberAxis;

import org.jfree.chart.plot.CategoryPlot;

import org.jfree.chart.plot.PlotOrientation;

import org.jfree.chart.renderer.category.BarRenderer;

import org.jfree.chart.renderer.category.BarRenderer3D;

import org.jfree.data.category.CategoryDataset;

import org.jfree.data.category.DefaultCategoryDataset;

import org.jfree.data.general.DatasetUtilities;

/**

* 柱狀圖測試

* @author xjh

*

*/

public class BarChartTest {

/**

* 得到2D柱狀圖的數據集合

*

* @return

*/

private CategoryDataset getDataset2D() {

String str1 = “First”;

String str2 = “Second”;

String str3 = “Third”;

String str4 = “Category 1”;

String str5 = “Category 2”;

String str6 = “Category 3”;

String str7 = “Category 4”;

String str8 = “Category 5”;

DefaultCategoryDataset localDefaultCategoryDataset = new DefaultCategoryDataset();

localDefaultCategoryDataset.addValue(1.0D, str1, str4);

localDefaultCategoryDataset.addValue(4.0D, str1, str5);

localDefaultCategoryDataset.addValue(3.0D, str1, str6);

localDefaultCategoryDataset.addValue(5.0D, str1, str7);

localDefaultCategoryDataset.addValue(5.0D, str1, str8);

localDefaultCategoryDataset.addValue(5.0D, str2, str4);

localDefaultCategoryDataset.addValue(7.0D, str2, str5);

localDefaultCategoryDataset.addValue(6.0D, str2, str6);

localDefaultCategoryDataset.addValue(8.0D, str2, str7);

localDefaultCategoryDataset.addValue(4.0D, str2, str8);

localDefaultCategoryDataset.addValue(4.0D, str3, str4);

localDefaultCategoryDataset.addValue(3.0D, str3, str5);

localDefaultCategoryDataset.addValue(2.0D, str3, str6);

localDefaultCategoryDataset.addValue(3.0D, str3, str7);

localDefaultCategoryDataset.addValue(6.0D, str3, str8);

return localDefaultCategoryDataset;

}

/**

* 創建2D柱狀圖

*

* @param paramCategoryDataset

* @return

*/

public JFreeChart createBarChart2D() {

//得到2D柱狀圖的數據集合

CategoryDataset paramCategoryDataset = getDataset2D();

//創建柱狀圖

JFreeChart localJFreeChart = ChartFactory.createBarChart(

“Bar Chart Demo”, “Category”, “Value”, paramCategoryDataset,

PlotOrientation.VERTICAL, true, true, false);

//設置柱狀圖屬性

localJFreeChart.setBackgroundPaint(Color.white);

//獲取柱狀圖的標註點集合

CategoryPlot localCategoryPlot = localJFreeChart.getCategoryPlot();

//設置標註點的背景色

localCategoryPlot.setBackgroundPaint(Color.lightGray);

//設置繪製區域的方格線的顏色

localCategoryPlot.setDomainGridlinePaint(Color.white);

//是方格線可見

localCategoryPlot.setDomainGridlinesVisible(true);

//設置方格線變動繪製顏色

localCategoryPlot.setRangeGridlinePaint(Color.white);

//得到數值坐標軸

NumberAxis localNumberAxis = (NumberAxis) localCategoryPlot

.getRangeAxis();

//設置坐標軸單元

localNumberAxis.setStandardTickUnits(NumberAxis

.createIntegerTickUnits());

//得到柱狀圖渲染器

BarRenderer localBarRenderer = (BarRenderer) localCategoryPlot

.getRenderer();

//如果超出繪製區域邊界將不可見

localBarRenderer.setDrawBarOutline(false);

//創建傾斜度對象

GradientPaint localGradientPaint1 = new GradientPaint(0.0F, 0.0F,

Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));

GradientPaint localGradientPaint2 = new GradientPaint(0.0F, 0.0F,

Color.green, 0.0F, 0.0F, new Color(0, 64, 0));

GradientPaint localGradientPaint3 = new GradientPaint(0.0F, 0.0F,

Color.red, 0.0F, 0.0F, new Color(64, 0, 0));

//為渲染器設置傾斜度

localBarRenderer.setSeriesPaint(0, localGradientPaint1);

localBarRenderer.setSeriesPaint(1, localGradientPaint2);

localBarRenderer.setSeriesPaint(2, localGradientPaint3);

//旋轉坐標軸

CategoryAxis localCategoryAxis = localCategoryPlot.getDomainAxis();

localCategoryAxis.setCategoryLabelPositions(CategoryLabelPositions

.createUpRotationLabelPositions(0.5235987755982988D));

return localJFreeChart;

}

/**

* 創建3D柱狀圖

*

* @return

*/

public JFreeChart createBarChart3D() {

// 設置坐標點

double[][] arrayOfDouble = { { 10.0D, 4.0D, 15.0D, 14.0D },

{ -5.0D, -7.0D, 14.0D, -3.0D }, { 6.0D, 17.0D, -12.0D, 7.0D },

{ 7.0D, 15.0D, 11.0D, 0.0D }, { -8.0D, -6.0D, 10.0D, -9.0D },

{ 9.0D, 8.0D, 0.0D, 6.0D }, { -10.0D, 9.0D, 7.0D, 7.0D },

{ 11.0D, 13.0D, 9.0D, 9.0D }, { -3.0D, 7.0D, 11.0D, -10.0D } };

// 創建圖表的數據集合,第一個參數:橫坐標的文字說明;第二個參數:縱坐標的文字說明;第三個參數:坐標數組

CategoryDataset paramCategoryDataset = DatasetUtilities

.createCategoryDataset(“Series “, “Category “, arrayOfDouble);

// 創建3D圖表

JFreeChart localJFreeChart = ChartFactory.createBarChart3D(

“3D Bar Chart Demo”, “Category”, “Value”, paramCategoryDataset,

PlotOrientation.VERTICAL, true, true, false);

// 得到橫坐標點集合對象

CategoryPlot localCategoryPlot = localJFreeChart.getCategoryPlot();

// 設置方格可見

localCategoryPlot.setDomainGridlinesVisible(true);

// 得到坐標軸

CategoryAxis localCategoryAxis = localCategoryPlot.getDomainAxis();

// 設置標註點位置

localCategoryAxis.setCategoryLabelPositions(CategoryLabelPositions

.createUpRotationLabelPositions(0.3926990816987241D));

// 創建3D柱狀圖渲染對象

BarRenderer3D localBarRenderer3D = (BarRenderer3D) localCategoryPlot

.getRenderer();

// 設置超出邊界不可見

localBarRenderer3D.setDrawBarOutline(false);

// 返回圖表對象

return localJFreeChart;

}

}

java怎麼生成excel柱狀圖?

如果是柱狀圖之類的表示 是在 excel中生成的那麼你可以考慮做個excel模版引用數據利用excel內的機制自動生成想要的圖,而數據可以用java利用poi的相關類 往模版裡面寫數據。就知道這麼多 就給你說這麼多吧

怎樣用JAVA來實現在網頁中製作柱狀圖

JFreeChart是JAVA平台上的一個開放的圖表繪製類庫。它完全使用JAVA語言編寫,是為applications, applets, servlets 以及JSP等使用所設計。JFreeChart可生成餅圖(pie charts)、柱狀圖(bar charts)、散點圖(scatter plots)、時序圖(time series)、甘特圖(Gantt charts)等等多種圖表,並且可以產生PNG和JPEG格式的輸出,還可以與PDF和EXCEL關聯。

JFreeChart的主頁地址為:

在這裡可以找到最新版本的JFreeChart的相關信息,如說明文檔、下載連接以及示例圖表等。

JFreeChart目前是最好的java圖形解決方案,基本能夠解決目前的圖形方面的需求。

IBM文檔:

Javaeye社區:

原創文章,作者:RCBX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142962.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RCBX的頭像RCBX
上一篇 2024-10-14 18:48
下一篇 2024-10-14 18:48

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論