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리뷰
로그인참여 후 검토

관련 기사

chart.js의 막대 차트에서 y 축 및 x 축 선과 레이블을 숨기는 방법

Python에서 보조 Y 축을 설정하는 방법

Python에서 데이터 프레임을 플로팅하기 위해 x 및 y 축을 지정하는 방법

clustermap에서 x 및 y 축 레이블을 제거하는 방법은 무엇입니까?

highcharts에서 x 및 y 축이 아닌 도구 설명에 값을 전달하는 방법

ggplot2에서 x 및 y 축과 돌출 된 틱 사이에 간격을 만드는 방법

파이썬에서 X 및 Y 축과 동일한 Z 축 배율을 설정하는 방법 plot_surface

정렬 된 x 및 y 축 값에 ggrepel을 사용하여 레이블을 표시하는 방법

Seaborn에 로그인하여 x 및 y 축을 동일하게 조정하는 방법은 무엇입니까?

ggraph R에서 x 및 y 축을 뒤집는 방법

R의 y 축 레이블링 및 x 축을 R의 특정 증분으로 변경하는 방법

x 및 y 축에 소행성을 만드는 방법

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

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

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

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

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

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

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

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

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

R: 다른 ggplot의 x 및 y축에 ggplot을 표시하는 좋은 방법

Amcharts - 눈금선을 제거하지만 기본 x 및 y 축을 유지하는 방법

Seaborn 산점도에 x 및 y 축 선을 추가하는 방법

플롯 그래프에서 X 및 Y 축 선을 사라지게 하는 방법

x축의 날짜/시간 및 y축의 다른 열인 선택된 행을 플롯하는 방법

Python Plotly Subplots: 각 플롯에 대해 동적으로 다른 x 및 y 축을 설정하는 방법

단일 그래프에서 여러 그래프의 x 및 y 축에 레이블을 지정하는 방법

R ggplot2에서 X 및 Y 축의 모든 값을 표시하는 방법

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    Blazor 0.9.0 및 ASP.NET Core 3 미리보기 4를 사용한 JWT 인증

  3. 3

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  4. 4

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  5. 5

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  6. 6

    오류 : MSB4803 : MSBuild의 .NET Core 버전에서 "ResolveComReference"작업이 지원되지 않습니다.

  7. 7

    R에서 Excel로 내보낼 때 CET / CEST 시간 이동이 삭제됨

  8. 8

    node.js + postgres : "$ 1"또는 그 근처에서 구문 오류

  9. 9

    확대 후 하이 차트에서 Y 축이 잘못 정렬 됨

  10. 10

    EPPlus에서 행 높이를 설정할 때 이상한 동작

  11. 11

    Ionic 2 로더가 적시에 표시되지 않음

  12. 12

    MS Access 부분 일치 2 테이블

  13. 13

    EPPlus에서 병합 된 셀의 행 높이 자동 맞춤

  14. 14

    ExecuteNonQuery- 연결 속성이 초기화되지 않았습니다.

  15. 15

    ResponseEntity를 사용하고 InputStream이 닫히는 지 확인하는 적절한 스트리밍 방법

  16. 16

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  17. 17

    오류 : "const wchar_t *"유형의 인수가 "WCHAR *"유형의 매개 변수와 호환되지 않습니다.

  18. 18

    Java에서 이미지를 2 색으로 변환

  19. 19

    overflow-y를 사용할 때 스크롤 버벅 거림 줄이기 : scroll;

  20. 20

    Java에서 Apache POI를 사용하여 테이블 크기 및 간격을 단어로 설정하는 방법

  21. 21

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

뜨겁다태그

보관