有几次我因为建议使用以下方法而受到批评:
在Swing组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:
对于布局,答案总是相同的:使用合适的LayoutManager
我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:
有关如何为X轴和Y轴设置范围的任何建议.
我的"X轴"范围是"0.00到1.00",相差"0.05".我的意思是0.00 0.05 0.10 0.15 ..... 0.90 0.95 1.00
我的"Y轴"范围从"0.0到1.0",差异为"0.1".我的意思是0.0 0.1 0.2 0.3 0.4 ......... 0.9 1.0
我尝试过这样做,但它没有反映在图表上; 我不知道如何应用它 ChartFactory.createScatterPlot().
final NumberAxis domainAxis = new NumberAxis("X-Axis");
domainAxis.setRange(0.00,1.00);
domainAxis.setTickUnit(new NumberTickUnit(0.1));
final NumberAxis rangeAxis = new NumberAxis("Y-Axis");
rangeAxis.setRange(0.0,1.0);
rangeAxis.setTickUnit(new NumberTickUnit(0.05));
public JPanel createDemoPanel() {
XYDataset dataset1 = samplexydataset2();
JFreeChart jfreechart = ChartFactory.createScatterPlot("Scatter Plot Demo",
"X", "Y",dataset1, PlotOrientation.VERTICAL, true, true, false);
}
Run Code Online (Sandbox Code Playgroud)
对此有任何帮助都会很棒.
我使用JFreeChart创建了XY折线图,有两个数据集,我希望两条线都有不同的颜色.我尝试使用以下代码 -
XYPlot plot = chart.getXYPlot();
XYItemRenderer xyir = plot.getRenderer();
xyir.setSeriesPaint(0, Color.GREEN);
plot.setDataset(0, xyDataset1);
xyir.setSeriesPaint(1, Color.blue);
plot.setDataset(1, xyDataset2);
Run Code Online (Sandbox Code Playgroud)
此外,我尝试使用以下代码,我使用不同的渲染器(不知道这是否是正确的方法) -
XYPlot plot1 = chart.getXYPlot();
XYPlot plot2 = chart.getXYPlot();
XYItemRenderer xyir1 = plot1.getRenderer();
xyir1.setSeriesPaint(0, Color.GREEN);
plot1.setDataset(0, xyDataset1);
XYItemRenderer xyir2 = plot2.getRenderer();
xyir2.setSeriesPaint(1, Color.blue);
plot2.setDataset(1, xyDataset2);
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,它都打印出蓝色的线条.怎么了??有什么建议??
就像在下面的示例中所做的那样,我希望图表域上的刻度线标签旋转45度,如下图所示:http: //left.subtree.org/2007/08/14/rotate -labels-jfreechart的/
区别在于,我想在带有数字轴的散点图上执行此操作.我找不到NumberAxis类中的setCategoryLabelPositions()的等价物.
我添加了JFreeChart一个JPanel(使用a BorderLayout),它是巨大的.有什么我可以做的让它变小吗?
public void generateChart()
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
//set the values of the chart
for(int i=0; i<8; i++)
{
dataset.setValue(income_array[i], "Income",
Double.toString(percent_array[i]));
}
JFreeChart chart = ChartFactory.createBarChart(
"Required Annual Income for a Variety of Interest Rates",
"Percent", "Income", dataset, PlotOrientation.VERTICAL,
false,true, false);
ChartPanel cp = new ChartPanel(chart);
chart.setBackgroundPaint(Color.white);
chart.getTitle().setPaint(Color.black);
CategoryPlot p = chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.blue);
//cp.setMaximumDrawHeight(5);
//cp.setMaximumDrawWidth(5);
//cp.setZoomOutFactor(.1);
JPanel graph = new JPanel();
graph.add(cp);
middle.add(graph, BorderLayout.CENTER);
}
Run Code Online (Sandbox Code Playgroud) 我在向XYSeries添加点时遇到问题.我有两节课.一个是Sample(它有一个main方法)而另一个是JfreeChart(它有JfreeChart代码).在我的Sample班级中,我有一个sample[row][2]最初有10行的2D数组,然后我需要调用JfreeChart该类并将它们添加到XYSeries并显示散点图.我设法做到了这一点,但下次我调用Jfreechart该类时,我的数组有25行.
我需要将值添加到XYSeries并在散点图上绘制它们,散点图应显示前面10行的不同颜色值,现在25行值不同颜色......这样就可以了.谁能提出一些建议或例子?
class Sample {
public static void main(String args[]) {
System.out.print("(X,Y) Paired Values");
double[][] sample = new double[row][2];
for (int g = 0; g < sampe.length; g++) {
for (int h = 0; h < 2; h++) {
System.out.print("" + sample[g][h] + ",");
}
}
JfreeChart sample = new JfreeChart("Demo", sample);
}
static XYDataset samplexydataset2(double[][] sample) {
XYSeriesCollection xySeriesCollection = new XYSeriesCollection();
XYSeries …Run Code Online (Sandbox Code Playgroud) 我使用JFreeChart绘制了标准的正态分布:
NormalDistributionFunction2D normalDistributionFunction2D = new NormalDistributionFunction2D(0.5, 0.15);
XYDataset dataset = DatasetUtilities.sampleFunction2D(normalDistributionFunction2D, 0.0, 1.0, 1000, "Normal");
JFreeChart chart = ChartFactory.createXYLineChart("MyTitle --, "", "", xySeriesCollection, PlotOrientation.VERTICAL, false, false, false);
Run Code Online (Sandbox Code Playgroud)

最重要的是,我想在给定点放置一个圆圈.我在计算圆的[x,y]坐标时没有问题,但我不确定如何将它添加到图表中.任何帮助赞赏.我想要实现的MS Paint爆破如下.
