दिलचस्प पोस्ट
आप matplotlib के साथ आये गये आंकड़े के आकार को कैसे बदल सकते हैं? Instagram एपीआई: सभी उपयोगकर्ता मीडिया कैसे प्राप्त करें? बाउंड पैरामीटर का उपयोग कई बार करें Django पैमाने क्या करता है? जावास्क्रिप्ट का उपयोग करके ट्विटर बूटस्ट्रैप 3 के उत्तरदायी ब्रेकपॉइंट का पता कैसे लगा सकता है? एएसपी.Net में SQL इंजेक्शन की रोकथाम निर्देशिका में विशिष्ट फ़ाइलों की PHP सूची यूनिक्स टाइमस्टैम्प को डेटटाइम कन्वर्ट और अजगर में इसे वापस परिवर्तित करें पता लगाएँ कि डिवाइस आईओएस है क्रॉन का विंडोज संस्करण क्या है? कुकीज़ के साथ उद्देश्य-सी असिंक्रोनस वेब अनुरोध कैसे अजगर में स्ट्रिंग डेट को डेटटाइम प्रारूप में कनवर्ट करना है? शुद्ध जेपीए सेटअप में डाटाबेस कनेक्शन प्राप्त करना छवि पर क्यूबिक और कैटमुल स्प्लिने का प्रभाव लक्ष्य = "_ रिक्त" के लिए HTML में नई विंडो खोलना

डोमेन और श्रेणी अक्षों के लिए समान पैमाने कैसे सेट करें JFreeChart

मैं ध्रुव / शून्य प्लॉट के समान पोल / शून्य प्लॉट बनाना चाहता हूं। यह IIR और एफआईआर फ़िल्टर गुणों जैसे स्थिरता, प्रकार प्रदर्शित करने के लिए है …

मेरा प्रश्न यह है कि: मैं दोनों अक्षों के लिए एक समान पैमाने कैसे निर्धारित कर सकता हूं?
मैं चार्ट के लिए ScatterPlot का उपयोग करता हूँ

JFreeChart chart = ChartFactory.createScatterPlot("Pole/zero plot", // chart // title "real", // x axis label "imaginary", // y axis label result, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); XYPlot plot = (XYPlot) chart.getPlot(); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinesVisible(true); plot.setRangeGridlinePaint(Color.black); plot.setDomainGridlinePaint(Color.black); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); renderer.setBaseItemLabelsVisible(true); renderer.setBaseItemLabelsVisible(true, true); plot.setDomainCrosshairVisible(true); plot.setDomainCrosshairLockedOnData(true); plot.setRangeCrosshairVisible(true); plot.setRangeCrosshairLockedOnData(true); float dash1[] = { 10.0f }; XYShapeAnnotation unitCircle = new XYShapeAnnotation( new Ellipse2D.Double(-1, -1, 2, 2), new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f), Color.black); plot.addAnnotation(unitCircle); plot.setBackgroundPaint(Color.white); chart.setAntiAlias(true); chartPanel = new JPanel(new BorderLayout()); ChartPanel cp = new ChartPanel(chart); cp.setMouseWheelEnabled(true); cp.setToolTipText("test"); cp.setDisplayToolTips(true); chartPanel.add(cp); 

वेब के समाधान से एकत्रित समाधान "डोमेन और श्रेणी अक्षों के लिए समान पैमाने कैसे सेट करें JFreeChart"

बिना ChartPanel , ChartPanel का पसंदीदा आकार बहुत अच्छी तरह से काम करता है:

 private static final int SIZE = 456; chartPanel.setPreferredSize(new Dimension(SIZE, SIZE)); 

यह भी देखें क्या मुझे जावा स्विंग में set(Preferred|Maximum|Minimum)Size() के उपयोग से बचाना चाहिए set(Preferred|Maximum|Minimum)Size() विधियां? और चार्ट आकार के बारे में यह जवाब ।

यहां छवि विवरण दर्ज करें

 import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.geom.Ellipse2D; import java.util.*; import javax.swing.AbstractAction; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import org.jfree.chart.*; import org.jfree.chart.annotations.XYShapeAnnotation; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.axis.NumberTickUnit; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; /** * @see http://stackoverflow.com/questions/8048652 * @see http://stackoverflow.com/questions/7231824 * @see http://stackoverflow.com/questions/7205742 * @see http://stackoverflow.com/questions/7208657 * @see http://stackoverflow.com/questions/7071057 */ public class ScatterAdd extends JFrame { private static final int N = 8; private static final int SIZE = 456; private static final String title = "Scatter Add Demo"; private static final Random rand = new Random(); private XYSeries added = new XYSeries("Added"); public ScatterAdd(String s) { super(s); final ChartPanel chartPanel = createDemoPanel(); chartPanel.setPreferredSize(new Dimension(SIZE, SIZE)); this.add(chartPanel, BorderLayout.CENTER); JPanel control = new JPanel(); control.add(new JButton(new AbstractAction("Add") { @Override public void actionPerformed(ActionEvent e) { for (int i = 0; i < N; i++) { added.add(rand.nextGaussian(), rand.nextGaussian()); } } })); this.add(control, BorderLayout.SOUTH); } private ChartPanel createDemoPanel() { JFreeChart jfreechart = ChartFactory.createScatterPlot( title, "X", "Y", createSampleData(), PlotOrientation.VERTICAL, false, true, false); XYPlot xyPlot = (XYPlot) jfreechart.getPlot(); xyPlot.setDomainCrosshairVisible(true); xyPlot.setRangeCrosshairVisible(true); XYItemRenderer renderer = xyPlot.getRenderer(); renderer.setSeriesPaint(0, Color.blue); adjustAxis((NumberAxis) xyPlot.getDomainAxis(), true); adjustAxis((NumberAxis) xyPlot.getRangeAxis(), false); XYShapeAnnotation unitCircle = new XYShapeAnnotation( new Ellipse2D.Double(-1, -1, 2, 2), new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f), Color.black); xyPlot.addAnnotation(unitCircle); xyPlot.setBackgroundPaint(Color.white); return new ChartPanel(jfreechart); } private void adjustAxis(NumberAxis axis, boolean vertical) { axis.setRange(-1.0, 1.0); axis.setTickUnit(new NumberTickUnit(0.5)); axis.setVerticalTickLabels(vertical); } private XYDataset createSampleData() { XYSeriesCollection xySeriesCollection = new XYSeriesCollection(); XYSeries series = new XYSeries("Random"); for (int i = 0; i < N * N; i++) { series.add(rand.nextGaussian(), rand.nextGaussian()); } xySeriesCollection.addSeries(series); xySeriesCollection.addSeries(added); return xySeriesCollection; } public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { @Override public void run() { ScatterAdd demo = new ScatterAdd(title); demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); demo.pack(); demo.setLocationRelativeTo(null); demo.setVisible(true); } }); } }