jfreecharts에서 x 및 y 축 선을 조정하는 방법

하리 프라 사트

내 jfree 꺾은 선형 차트에서 x 및 y 축 선이 분리되어 그려집니다. 두 축이 원래 위치에서 만나도록해야합니다. 다음은 jfree 라인 차트에서 얻은 실제 이미지입니다.여기에 이미지 설명 입력

jfree 라인 차트에서 원점에서 두 축 선을 결합하는 방법 ...

이 코드 샘플을 사용하여 시도했습니다.

final DefaultCategoryDataset lineDataset = new DefaultCategoryDataset();
        lineDataset.addValue(10, "Dep", "2009");
        lineDataset.addValue(11, "Dep", "2010");
        lineDataset.addValue(10, "Dep", "2011");
        lineDataset.addValue(10, "Dep", "2012");

        lineDataset.addValue(7, "Dia", "2009");
        lineDataset.addValue(7, "Dia", "2010");
        lineDataset.addValue(7, "Dia", "2011");
        lineDataset.addValue(7, "Dia", "2012");

        lineDataset.addValue(3, "HD", "2009");
        lineDataset.addValue(3, "HD", "2010");
        lineDataset.addValue(3, "HD", "2011");
        lineDataset.addValue(3, "HD", "2012");

        lineDataset.addValue(16, "HBP", "2009");
        lineDataset.addValue(15, "HBP", "2010");
        lineDataset.addValue(18, "HBP", "2011");
        lineDataset.addValue(17, "HBP", "2012");

        lineDataset.addValue(16, "HC", "2009");
        lineDataset.addValue(15, "HC", "2010");
        lineDataset.addValue(16, "HC", "2011");
        lineDataset.addValue(16, "HC", "2012");

        lineDataset.addValue(6, "LBP", "2009");
        lineDataset.addValue(7, "LBP", "2010");
        lineDataset.addValue(6, "LBP", "2011");
        lineDataset.addValue(6, "LBP", "2012");

        final JFreeChart chart = ChartFactory.createLineChart(
                "", // chart title
                "", // domain axis label
                "", // range axis label
                lineDataset, // data
                PlotOrientation.VERTICAL, // orientation
                false, // include legend
                false, // tooltips
                false // urls
        );

        chart.setBackgroundPaint(Color.WHITE);
        final CategoryPlot plot = (CategoryPlot) chart.getPlot();
        plot.setBackgroundPaint(Color.WHITE);
        plot.setOutlineVisible(false);
        plot.setRangeGridlinePaint(Color.white);

        final CategoryAxis categoryAxis = plot.getDomainAxis();
        categoryAxis.setAxisLineVisible(true);
        categoryAxis.setTickMarksVisible(false);
        categoryAxis.setMaximumCategoryLabelLines(2);
        categoryAxis.setLowerMargin(-0.1);

        categoryAxis.setTickLabelPaint(Color.decode("#222222"));
        chart.setPadding(new RectangleInsets(0, -8, 0, 0));

//        categoryAxis.setTickLabelFont(font);
        final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setVisible(true);
//        rangeAxis.setRange(minRange, maxRange);
//        rangeAxis.setTickUnit(new NumberTickUnit(2));
        rangeAxis.setTickLabelsVisible(true);
        rangeAxis.setLowerMargin(1);

        final LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
        renderer.setBaseShapesVisible(true);
        renderer.setBaseShapesFilled(true);
        renderer.setSeriesStroke(0, new BasicStroke(1.2f));
        renderer.setSeriesItemLabelsVisible(1, Boolean.TRUE);
        Shape circle = new Ellipse2D.Double(-3, -3, 6, 6);
        renderer.setSeriesShape(0, circle);
        renderer.setSeriesShape(1, circle);
        renderer.setSeriesShape(2, circle);
        renderer.setSeriesShape(3, circle);
        renderer.setSeriesShape(4, circle);
        renderer.setSeriesShape(5, circle);
//        renderer.setBaseItemLabelGenerator(new CustomLabelGenerator());
        renderer.setItemLabelAnchorOffset(-5);
        renderer.setBaseItemLabelsVisible(true);

        plot.getRenderer().setSeriesPaint(0, Color.decode("#4E7AD3"));
        plot.getRenderer().setSeriesPaint(1, Color.decode("#DC3912"));
        plot.getRenderer().setSeriesPaint(2, Color.decode("#FF9900"));
        plot.getRenderer().setSeriesPaint(3, Color.decode("#109618"));
        plot.getRenderer().setSeriesPaint(4, Color.decode("#990099"));
        plot.getRenderer().setSeriesPaint(5, Color.decode("#0099C6"));
//        renderer.setBaseItemLabelFont(font);

//        plot.getRenderer().setSeriesPaint(1, Color.WHITE);

        try {
            BufferedImage bi;

            bi = chart.createBufferedImage(300, 100);

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(bi, "png", baos);
            byte[] byteArray = baos.toByteArray();
//            rangeAxis.setRangeWithMargins(min(min), max(max));
            String rootpath = this.getRootPath();
            String imagePath = rootpath + TEMP_FILE_PATH + File.separator + "HighLightGraph_" + 1 + ".png";
            System.out.println("=========imagePath============"+imagePath);
            ChartUtilities.saveChartAsPNG(new File(imagePath), chart, 500, 300);
//            this.recordImageData("highlightChart" + "-" + "1", org.apache.catalina.util.Base64.encode(byteArray));
        } catch (Exception e) {

        }
GrahamA

다음 행을 추가하십시오.

plot.setAxisOffset(new RectangleInsets(0,0,0,0));

당신의 코드에

final CategoryPlot plot = (CategoryPlot) chart.getPlot();

여기에 이미지 설명 입력

JFreeChart Java Doc 링크

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

실시간 파이썬에서 그래프의 y 및 x 축을 자동으로 조정하는 방법

분류에서Dev

matplotlib에서 이와 같이 보이는 X 및 Y 축을 얻는 방법

분류에서Dev

Excel 2010에서 그래프의 X 및 Y 축을 바꾸는 방법

분류에서Dev

jquery resizable을 사용하여 x 및 y 축에서 올바른 프로포션으로 이미지 크기를 조정하는 방법

분류에서Dev

matplotlib를 사용하여 y 및 x 축을 정렬하는 방법

분류에서Dev

거품 형 차트 (JQPlot)에서 X 및 Y 축을 중심으로 이동하는 방법

분류에서Dev

x 및 y 축을 공유 할 때 각 개별 플롯 서브 플롯에 대해 x 및 y 레이블을 추가하는 방법은 무엇입니까?

분류에서Dev

Plotly : 흰색 배경으로 x 및 y 축의 선을 표시하는 방법은 무엇입니까?

분류에서Dev

Matplotlib로 축 레이블 (x 및 y)을 추가하고 y 축 번호를 회전하는 방법

분류에서Dev

R ggplot2에서 y 축 값을 기반으로 x 축을 재정렬하는 방법

분류에서Dev

matplotlib에서 .subplot을 사용하는 동안 제목, x 축 레이블 및 y 축 레이블을 추가하는 방법은 무엇입니까?

분류에서Dev

보조 y 축이있는 각 matplotlib 서브 플롯의 x 축 값을 표시하는 방법

분류에서Dev

x 및 y 축에서 눈금 사이의 거리를 지정하는 방법은 무엇입니까?

분류에서Dev

방패 UI 차트의 X 축에서 UTC 형식을 조정하는 방법

분류에서Dev

파이썬 matplotlib의 축에 x, y 축을 표시하는 방법

분류에서Dev

MATLAB- 두 곡선에서 여러 x 및 y 교차점을 찾는 방법

분류에서Dev

Python matplotlib에서 범주 형 변수로 x 축 및 y 축 눈금을 변경하는 방법은 무엇입니까?

분류에서Dev

R에서`ggdraw` 및`plot_grid ()`를 사용하여 플롯 배열에서 X 및 Y 축에 공통 제목을 만드는 방법은 무엇입니까?

분류에서Dev

이미지 조작에서 x 및 y 좌표를 설정하는 방법.

분류에서Dev

cex.axis를 사용하여 x 및 y 축에 다른 글꼴 크기를 설정하는 방법

분류에서Dev

VegaLite.jl을 사용하여 x 축 및 y 축 크기 조정

분류에서Dev

Plotly : 서브 플롯의 x 및 y 축 제목을 더 크게 만드는 방법은 무엇입니까?

분류에서Dev

다중 Y 축 및 공통 X 축을 사용하여 누적 JavaFX 차트를 만드는 방법

분류에서Dev

Point2D의 X 축 및 Y 축을 검색하는 방법은 무엇입니까?

분류에서Dev

플롯 플롯에서 생성 된 x 축 및 y 축 범위를 얻는 방법은 무엇입니까?

분류에서Dev

nvd3에서 Y 축에 사용자 지정 눈금 및 레이블을 설정하는 방법

분류에서Dev

y 축을 x = 0에 놓는 방법은 무엇입니까?

분류에서Dev

matplotlib의 플롯에서 x, y 축의 값을 제거하는 방법

분류에서Dev

MPAndroidChart에서 float x 및 float y 값을 추가하는 방법

Related 관련 기사

  1. 1

    실시간 파이썬에서 그래프의 y 및 x 축을 자동으로 조정하는 방법

  2. 2

    matplotlib에서 이와 같이 보이는 X 및 Y 축을 얻는 방법

  3. 3

    Excel 2010에서 그래프의 X 및 Y 축을 바꾸는 방법

  4. 4

    jquery resizable을 사용하여 x 및 y 축에서 올바른 프로포션으로 이미지 크기를 조정하는 방법

  5. 5

    matplotlib를 사용하여 y 및 x 축을 정렬하는 방법

  6. 6

    거품 형 차트 (JQPlot)에서 X 및 Y 축을 중심으로 이동하는 방법

  7. 7

    x 및 y 축을 공유 할 때 각 개별 플롯 서브 플롯에 대해 x 및 y 레이블을 추가하는 방법은 무엇입니까?

  8. 8

    Plotly : 흰색 배경으로 x 및 y 축의 선을 표시하는 방법은 무엇입니까?

  9. 9

    Matplotlib로 축 레이블 (x 및 y)을 추가하고 y 축 번호를 회전하는 방법

  10. 10

    R ggplot2에서 y 축 값을 기반으로 x 축을 재정렬하는 방법

  11. 11

    matplotlib에서 .subplot을 사용하는 동안 제목, x 축 레이블 및 y 축 레이블을 추가하는 방법은 무엇입니까?

  12. 12

    보조 y 축이있는 각 matplotlib 서브 플롯의 x 축 값을 표시하는 방법

  13. 13

    x 및 y 축에서 눈금 사이의 거리를 지정하는 방법은 무엇입니까?

  14. 14

    방패 UI 차트의 X 축에서 UTC 형식을 조정하는 방법

  15. 15

    파이썬 matplotlib의 축에 x, y 축을 표시하는 방법

  16. 16

    MATLAB- 두 곡선에서 여러 x 및 y 교차점을 찾는 방법

  17. 17

    Python matplotlib에서 범주 형 변수로 x 축 및 y 축 눈금을 변경하는 방법은 무엇입니까?

  18. 18

    R에서`ggdraw` 및`plot_grid ()`를 사용하여 플롯 배열에서 X 및 Y 축에 공통 제목을 만드는 방법은 무엇입니까?

  19. 19

    이미지 조작에서 x 및 y 좌표를 설정하는 방법.

  20. 20

    cex.axis를 사용하여 x 및 y 축에 다른 글꼴 크기를 설정하는 방법

  21. 21

    VegaLite.jl을 사용하여 x 축 및 y 축 크기 조정

  22. 22

    Plotly : 서브 플롯의 x 및 y 축 제목을 더 크게 만드는 방법은 무엇입니까?

  23. 23

    다중 Y 축 및 공통 X 축을 사용하여 누적 JavaFX 차트를 만드는 방법

  24. 24

    Point2D의 X 축 및 Y 축을 검색하는 방법은 무엇입니까?

  25. 25

    플롯 플롯에서 생성 된 x 축 및 y 축 범위를 얻는 방법은 무엇입니까?

  26. 26

    nvd3에서 Y 축에 사용자 지정 눈금 및 레이블을 설정하는 방법

  27. 27

    y 축을 x = 0에 놓는 방법은 무엇입니까?

  28. 28

    matplotlib의 플롯에서 x, y 축의 값을 제거하는 방법

  29. 29

    MPAndroidChart에서 float x 및 float y 값을 추가하는 방법

뜨겁다태그

보관