バブルチャートに3つの変数の値を表示するjfreechartアプリケーションがあります。私は、グラフ上に気泡を作る問題を持っています。ズームアウトしようとすると表示されます。 しかし、3番目の列/配列の値を1、2、3、4、5のような整数に変更すると、泡が見え始めます。誰でも私を助けてください。私は気泡がすべてのプロットされたポイントの特定のサイズを持っていることを望みます。java jfreechartライブラリバブルサイズの問題
以下は私のソースコードです:デフォルトで
package javaapplication2;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Shape;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.data.xy.DefaultXYZDataset;
import org.jfree.data.xy.XYZDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.util.ShapeUtilities;
public class JavaApplication2 extends ApplicationFrame {
public JavaApplication2(String s) {
super(s);
JPanel jpanel = createDemoPanel();
jpanel.setPreferredSize(new Dimension(560, 370));
setContentPane(jpanel);
}
private static JFreeChart createChart(XYZDataset xyzdataset) {
JFreeChart jfreechart = ChartFactory.createBubbleChart(
"AGE vs WEIGHT vs WORK",
"Weight",
"AGE",
xyzdataset,
PlotOrientation.HORIZONTAL,
true, true, false);
XYPlot xyplot = (XYPlot) jfreechart.getPlot();
xyplot.setForegroundAlpha(0.65F);
XYItemRenderer xyitemrenderer = xyplot.getRenderer();
xyitemrenderer.setSeriesPaint(0, Color.blue);
NumberAxis numberaxis = (NumberAxis) xyplot.getDomainAxis();
numberaxis.setLowerMargin(0.2);
numberaxis.setUpperMargin(0.5);
NumberAxis numberaxis1 = (NumberAxis) xyplot.getRangeAxis();
numberaxis1.setLowerMargin(0.8);
numberaxis1.setUpperMargin(0.9);
return jfreechart;
}
public static XYZDataset createDataset() {
DefaultXYZDataset defaultxyzdataset = new DefaultXYZDataset();
double ad[] = {426081.759473, 426095.238564, 426109.490941, 426121.967623, 426130.564392, 426138.69481};
double ad1[] = {113322.88289, 113271.915074, 113221.586484, 113172.511533, 113128.370338, 113085.254484};
double ad2[] = {0.460819752574555, 0.850726080807893, 0.571903719860673, -0.013658463858901, -0.231945599223777, -0.256564887488579};
double ad3[][] = {ad, ad1, ad2};
defaultxyzdataset.addSeries("Series 1", ad3);
return defaultxyzdataset;
}
public static JPanel createDemoPanel() {
JFreeChart jfreechart = createChart(createDataset());
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setDomainZoomable(true);
chartpanel.setRangeZoomable(true);
return chartpanel;
}
public static void main(String args[]) {
JavaApplication2 bubblechart = new JavaApplication2("Bubble Chart_frame");
bubblechart.pack();
RefineryUtilities.centerFrameOnScreen(bubblechart);
bubblechart.setVisible(true);
}
}
は、有効な[MCVE]または[sscce](HTTPを作成して投稿する代わりに、外部ソースでコードを投稿しないでください。 org /)は、あなたの問題。コードを外部ソースに投稿しているので、あなたの質問が閉鎖される可能性があります。コードがいつGoogleドライブから消えたらどうなるでしょうか?[ツアー]この質問は将来の読者のためにもう役に立たないでしょう – Frakcool
ありがとうございます。しかし、私は新しいことを手助けして、それを行う方法を理解していません。 – user3367897
*「手伝ってもらえますか? * "私はそれをする方法を理解していない" *どのように何をする?あなたの速い返信ごとに、あなたは以前に提供されたリンクの1つでも読んでいないと思います。あなたが聞くことができるリンクの何かを理解していない場合は、すべてを読んだ後にあなたの質問を修正してください。 – Frakcool