日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Jfreechart中的半圓環圖的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

如何在jfreechart中繪制半個堅果圖,例如使用以下鏈接https://www.highcharts.com/demo/pie-semi-circle

這是我的代碼

DefaultPieDataset dataset = new DefaultPieDataset( );

dataset.setValue("Safari-32", new Long( 32) );  dataset.setValue("Chrome-44", new Long( 44) ); 
dataset.setValue("Apple-24", new Long( 24) ); 
dataset.setValue("Google-75", new Long( 75) ); 
dataset.setValue("Michele", new Long( 97) );  dataset.setValue("Jony", new Long( 41) );

JFreeChart chart = ChartFactory.createRingChart("Chart title", dataset, true, false, false);
chart.setBackgroundPaint(Color.WHITE);
chart.setBorderVisible(false); 

RingPlot plots = (RingPlot) chart.getPlot();

Font font3 = new Font("Book Antiqua", Font.BOLD, 17); 



plots.setShadowPaint(null);
plots.setBackgroundPaint(null); 
plots.setOutlineVisible(false); 
plots.setLabelOutlinePaint(null);  
plots.setLabelBackgroundPaint(Color.WHITE);
plots.setCenterTextMode(CenterTextMode.FIXED);
String te = "334";
plots.setCenterText((String)te); plots.setCenterTextFont(font3);
plots.setLabelGenerator(null);  // Remove the labels from chart area

font3 = new Font("Book Antiqua", Font.PLAIN, 10); 
LegendTitle legend = chart.getLegend();
legend.setPosition(RectangleEdge.RIGHT); legend.setItemFont(font3); 

legend.setBorder(0, 0, 0, 0);



String filename = "D:\ad\do nut.jpg";
ChartUtilities.saveChartAsJPEG(new File(filename), chart, 250, 155);

這是我的代碼,它生成一個完整的甜甜圈圖表。我需要一個起始角度從180度到0度的甜甜圈

推薦答案

我需要一個起始角度從180度到0度的甜甜圈。

您可以使用父PiePlot方法setStartAngle()從180°開始。您可以使用透明顏色隱藏下半部分,如here所示,或使用所示here中的一種方法將其遮蓋。OverlayLayout和透明白色如下圖所示。

import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.OverlayLayout;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.RingPlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class RingChartTest {

    private PieDataset createDataset() {
        DefaultPieDataset dataset = new DefaultPieDataset();
        dataset.setValue("Safari", 75);
        dataset.setValue("Chrome", 60);
        dataset.setValue("FireFox", 45);
        dataset.setValue("", 180);
        return dataset;
    }

    private JFreeChart createChart(PieDataset dataset) {
        JFreeChart chart = ChartFactory.createRingChart(
            "Browser Share", dataset, true, false, false);
        RingPlot plot = (RingPlot) chart.getPlot();
        plot.setStartAngle(180);
        plot.setCircular(true);
        plot.setSimpleLabels(true);
        plot.setSectionDepth(0.5);
        plot.setBackgroundPaint(Color.WHITE);
        Color invisible = new Color(0xffffffff, true);
        plot.setSectionPaint("", invisible);
        plot.setSectionOutlinePaint("", invisible);
        plot.setShadowPaint(null);
        //plot.setLabelGenerator(null);
        return chart;
    }

    public JPanel createDemoPanel() {
        JFreeChart jfreechart = createChart(createDataset());
        ChartPanel chartPanel = new ChartPanel(jfreechart) {
            @Override
            public Dimension getPreferredSize() {
                return new Dimension(500, 400);
            }
        };
        chartPanel.setLayout(new OverlayLayout(chartPanel));
        JLabel label = new JLabel("BrowserShare");
        label.setFont(label.getFont().deriveFont(48.0f));
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.CENTER);
        label.setAlignmentX(0.5f);
        label.setAlignmentY(0.75f);
        label.setOpaque(true);
        label.setBackground(Color.LIGHT_GRAY);
        chartPanel.add(label);
        return chartPanel;
    }

    public static void main(String args[]) {
        EventQueue.invokeLater(() -> {
            JFrame f = new JFrame("Ring Test");
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.add(new RingChartTest().createDemoPanel());
            f.pack();
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        });
    }
}

這篇關于Jfreechart中的半圓環圖的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JFreechart 半圓
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定