📄 chartgenerator.java
字号:
{ createDate(1999, Calendar.JANUARY,30), new Double(56) }, { createDate(1999, Calendar.JANUARY,30), new Double(39) }, { createDate(1999, Calendar.JANUARY,30), new Double(47) }, { createDate(1999, Calendar.JANUARY,30), new Double(49) }, { createDate(1999, Calendar.JANUARY,31), new Double(53) }, { createDate(1999, Calendar.JANUARY,31), new Double(39) }, { createDate(1999, Calendar.JANUARY,31), new Double(52) }, { createDate(1999, Calendar.JANUARY,31), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,1), new Double(51) }, { createDate(1999, Calendar.FEBRUARY,1), new Double(30) }, { createDate(1999, Calendar.FEBRUARY,1), new Double(45) }, { createDate(1999, Calendar.FEBRUARY,1), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,2), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,2), new Double(30) }, { createDate(1999, Calendar.FEBRUARY,2), new Double(34) }, { createDate(1999, Calendar.FEBRUARY,2), new Double(46) }, { createDate(1999, Calendar.FEBRUARY,3), new Double(57) }, { createDate(1999, Calendar.FEBRUARY,3), new Double(37) }, { createDate(1999, Calendar.FEBRUARY,3), new Double(44) }, { createDate(1999, Calendar.FEBRUARY,3), new Double(56) }, { createDate(1999, Calendar.FEBRUARY,4), new Double(49) }, { createDate(1999, Calendar.FEBRUARY,4), new Double(40) }, { createDate(1999, Calendar.FEBRUARY,4), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,4), new Double(44) }, { createDate(1999, Calendar.FEBRUARY,5), new Double(46) }, { createDate(1999, Calendar.FEBRUARY,5), new Double(38) }, { createDate(1999, Calendar.FEBRUARY,5), new Double(43) }, { createDate(1999, Calendar.FEBRUARY,5), new Double(40) }, { createDate(1999, Calendar.FEBRUARY,6), new Double(55) }, { createDate(1999, Calendar.FEBRUARY,6), new Double(38) }, { createDate(1999, Calendar.FEBRUARY,6), new Double(39) }, { createDate(1999, Calendar.FEBRUARY,6), new Double(53) }, { createDate(1999, Calendar.FEBRUARY,7), new Double(50) }, { createDate(1999, Calendar.FEBRUARY,7), new Double(33) }, { createDate(1999, Calendar.FEBRUARY,7), new Double(37) }, { createDate(1999, Calendar.FEBRUARY,7), new Double(37) }, { createDate(1999, Calendar.FEBRUARY,8), new Double(59) }, { createDate(1999, Calendar.FEBRUARY,8), new Double(34) }, { createDate(1999, Calendar.FEBRUARY,8), new Double(57) }, { createDate(1999, Calendar.FEBRUARY,8), new Double(43) }, { createDate(1999, Calendar.FEBRUARY,9), new Double(48) }, { createDate(1999, Calendar.FEBRUARY,9), new Double(39) }, { createDate(1999, Calendar.FEBRUARY,9), new Double(46) }, { createDate(1999, Calendar.FEBRUARY,9), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,10), new Double(55) }, { createDate(1999, Calendar.FEBRUARY,10), new Double(30) }, { createDate(1999, Calendar.FEBRUARY,10), new Double(37) }, { createDate(1999, Calendar.FEBRUARY,10), new Double(30) }, { createDate(1999, Calendar.FEBRUARY,11), new Double(60) }, { createDate(1999, Calendar.FEBRUARY,11), new Double(32) }, { createDate(1999, Calendar.FEBRUARY,11), new Double(56) }, { createDate(1999, Calendar.FEBRUARY,11), new Double(36) }, { createDate(1999, Calendar.FEBRUARY,12), new Double(56) }, { createDate(1999, Calendar.FEBRUARY,12), new Double(42) }, { createDate(1999, Calendar.FEBRUARY,12), new Double(53) }, { createDate(1999, Calendar.FEBRUARY,12), new Double(54) }, { createDate(1999, Calendar.FEBRUARY,13), new Double(49) }, { createDate(1999, Calendar.FEBRUARY,13), new Double(42) }, { createDate(1999, Calendar.FEBRUARY,13), new Double(45) }, { createDate(1999, Calendar.FEBRUARY,13), new Double(42) }, { createDate(1999, Calendar.FEBRUARY,14), new Double(55) }, { createDate(1999, Calendar.FEBRUARY,14), new Double(42) }, { createDate(1999, Calendar.FEBRUARY,14), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,14), new Double(54) }, { createDate(1999, Calendar.FEBRUARY,15), new Double(49) }, { createDate(1999, Calendar.FEBRUARY,15), new Double(35) }, { createDate(1999, Calendar.FEBRUARY,15), new Double(38) }, { createDate(1999, Calendar.FEBRUARY,15), new Double(35) }, { createDate(1999, Calendar.FEBRUARY,16), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,16), new Double(38) }, { createDate(1999, Calendar.FEBRUARY,16), new Double(43) }, { createDate(1999, Calendar.FEBRUARY,16), new Double(42) }, { createDate(1999, Calendar.FEBRUARY,17), new Double(53) }, { createDate(1999, Calendar.FEBRUARY,17), new Double(42) }, { createDate(1999, Calendar.FEBRUARY,17), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,17), new Double(48) }, { createDate(1999, Calendar.FEBRUARY,18), new Double(47) }, { createDate(1999, Calendar.FEBRUARY,18), new Double(44) }, { createDate(1999, Calendar.FEBRUARY,18), new Double(46) }, { createDate(1999, Calendar.FEBRUARY,18), new Double(44) }, { createDate(1999, Calendar.FEBRUARY,19), new Double(46) }, { createDate(1999, Calendar.FEBRUARY,19), new Double(40) }, { createDate(1999, Calendar.FEBRUARY,19), new Double(43) }, { createDate(1999, Calendar.FEBRUARY,19), new Double(44) }, { createDate(1999, Calendar.FEBRUARY,20), new Double(48) }, { createDate(1999, Calendar.FEBRUARY,20), new Double(41) }, { createDate(1999, Calendar.FEBRUARY,20), new Double(46) }, { createDate(1999, Calendar.FEBRUARY,20), new Double(41) } } }; return null; // broken, needs fixing... //return new DefaultXYDataset(new String[] { "IBM" }, data); } public JFreeChart createChart(int type, int initGradColor, int finalGradColor) { //CategoryDataset categoryData = createCategoryDataset(); CategoryDataset categoryData = getCategoryDataset(); JFreeChart chart; try { switch (type) { case 1: chart = ChartFactory.createVerticalBarChart(chartTitle, xmark, ymark, categoryData, true); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); Plot bPlot = chart.getPlot(); HorizontalCategoryAxis cAxis = (HorizontalCategoryAxis)bPlot.getAxis(Plot.HORIZONTAL_AXIS); cAxis.setVerticalCategoryLabels(true); return chart; case 2: chart = ChartFactory.createHorizontalBarChart("Horizontal Bar Chart", "Categories", "Values", categoryData, true); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); return chart; case 3: chart = ChartFactory.createLineChart("Line Chart", "Categories", "Values", categoryData, true); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); return chart; case 4: XYDataset xyData = new SampleXYDataset(); chart = ChartFactory.createXYChart("XY Plot", "X", "Y", xyData, true); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); Plot xyPlot = chart.getPlot(); //NumberAxis hhAxis = (NumberAxis) xyPlot.getAxis(Plot.HORIZONTAL_AXIS); //hhAxis.setAutoTickValue(false); //hhAxis.setTickValue(new Double(3.0)); return chart; case 5: XYDataset xyData1 = DemoDatasetFactory.createTimeSeriesCollection3(); chart = ChartFactory.createTimeSeriesChart("Time Series Chart", "Date", "USD per GBP", xyData1, true); //StandardTitle title = (StandardTitle)chart.getTitle(); //if (title==null) { // title = new StandardTitle("Value of GBP", new Font("Arial", Font.BOLD, 12)); // } //title.setTitle("Value of GBP"); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); //Plot myPlot = chart.getPlot(); //Axis myVerticalAxis = myPlot.getAxis(Plot.VERTICAL_AXIS); //myVerticalAxis.setLabel("USD per GBP"); //DateAxis myHorizontalAxis = (DateAxis) myPlot.getAxis(Plot.HORIZONTAL_AXIS); //myHorizontalAxis.setAutoTickValue(false); //myHorizontalAxis.setAutoRange(false); //myHorizontalAxis.setMinimumDate(new GregorianCalendar(1999, 4, 1).getTime()); //myHorizontalAxis.setMaximumDate(new GregorianCalendar(1999, 5, 1).getTime()); //myHorizontalAxis.setAutoTickValue(false); //myHorizontalAxis.getTickLabelFormatter().applyPattern("d-MMM-y"); //myHorizontalAxis.setTickUnit(new DateUnit(Calendar.DATE, 3)); VerticalNumberAxis vnAxis = (VerticalNumberAxis)chart.getPlot().getAxis(Plot.VERTICAL_AXIS); //vnAxis.setMinimumAxisValue(new Double(10000.0)); //vnAxis.setMaximumAxisValue(new Double(11000.0)); //vnAxis.setAutoRange(false); //vnAxis.setAutoTickUnits(false); vnAxis.setAutoRangeIncludesZero(false); //vnAxis.setTickUnits(new Double(0.020)); //vnAxis.getTickLabelFormatter().applyLocalizedPattern("0.0000"); chart.setDataset(xyData1); return chart; case 6: categoryData = createCategoryDataset(); PieDataset pieData = Datasets.createPieDataset(categoryData, 0); chart = ChartFactory.createPieChart("Pie Chart", pieData, true); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); return chart; case 7: // Added by Andrzej Porebski HighLowDataset hlData = createHighLowDataset(); chart = ChartFactory.createHighLowChart("High-Low-Open-Close IBM", "Date", "Price", hlData, true); //title = (StandardTitle)chart.getTitle(); //title.setTitle("High-Low-Open-Close IBM"); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); Plot myPlot = chart.getPlot(); Axis myVerticalAxis = myPlot.getAxis(Plot.VERTICAL_AXIS); myVerticalAxis.setLabel("Price in ($) per share"); return chart; case 8: // moving avg XYDataset xyData2 = DemoDatasetFactory.createTimeSeriesCollection3(); MovingAveragePlotFitAlgorithm mavg = new MovingAveragePlotFitAlgorithm(); mavg.setPeriod(30); PlotFit pf = new PlotFit(xyData2, mavg); xyData2 = pf.getFit(); chart = ChartFactory.createTimeSeriesChart("Moving Average", "Date", "Value", xyData2, true); //title = (StandardTitle)chart.getTitle(); //title.setTitle("30 day moving average of GBP"); chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); myPlot = chart.getPlot(); myVerticalAxis = myPlot.getAxis(Plot.VERTICAL_AXIS); myVerticalAxis.setLabel("USD per GBP"); vnAxis = (VerticalNumberAxis)chart.getPlot().getAxis(Plot.VERTICAL_AXIS); vnAxis.setAutoRangeIncludesZero(false); chart.setDataset(xyData2); return chart; case 9: // linear fit XYDataset xyData3 = DemoDatasetFactory.createTimeSeriesCollection2(); pf = new PlotFit(xyData3, new LinearPlotFitAlgorithm()); xyData3 = pf.getFit(); chart = ChartFactory.createTimeSeriesChart("Linear Fit", "Date", "Value", xyData3, true); //title = (StandardTitle)chart.getTitle(); //title.setTitle("Linear Fit of GBP"); //chart.setChartBackgroundPaint(new GradientPaint(0, 0, getColor( initGradColor ), 1000, 0, getColor( finalGradColor ))); myPlot = chart.getPlot(); myVerticalAxis = myPlot.getAxis(Plot.VERTICAL_AXIS); myVerticalAxis.setLabel("USD per GBP"); vnAxis = (VerticalNumberAxis)chart.getPlot().getAxis(Plot.VERTICAL_AXIS); vnAxis.setAutoRangeIncludesZero(false); chart.setDataset(xyData3); return chart; default: return null; } } catch (Exception e) { return null; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -