我正在为eclipse开发一个插件并扩展org.eclipse.ui.views扩展点.我想使用JFreeChart在eclipse视图中绘制一些图形.是否可以在eclipse视图中使用JFreeChart和SWT?
我正在尝试使用JfreeChart为图像的直方图创建图表,但我不完全了解如何为直方图提供输入数据.我想使用的函数是:
addSeries(java.lang.Comparable key, double[] values, int bins)
Run Code Online (Sandbox Code Playgroud)
我发现文档真的不清楚.我有一个256元素的数组填充了每个强度的像素数,我希望能够用作输入,但我不知道如何.以前有人遇到过这个问题吗?
任何有使用JFreeChart经验的人都有办法改变我的XY轴标签的颜色.现在我正在使用a XYPlot
,我想改变轴上标签的颜色.有没有办法做到这一点?
我遇到了JFreeChart重叠图的问题.我正在使用JFreeChart 1.0.13.我想要做的似乎是在早期版本的JFreeChart中更容易做到?
该图显示折线图和条形图.由Y轴的折线图绘制的数据范围在0-100范围内,条形图的轴在0-5范围内.
单独地,当我布置每个图表并绘制它时,它们看起来很棒.这是一个例子:
条形图
折线图
但是当我覆盖它们时,条形图缩小到看起来非常无用......大概是因为两个数据集的比例是如此不同.
例:
我真正想要的是分割两个数据集的系列数据,并在左侧Y轴上显示折线图的0-100范围,并使条形图显示为完整尺寸,如下面的第一个示例所示,但是标尺0-5显示在图表的右侧Y轴侧.
要创建图形,我首先使用XYSeriesCollection创建条形图,添加数据并创建绘图...
XYSeriesCollection histogramDataset= new XYSeriesCollection();
XYSeries xy= new XYSeries("Temp");
xy.add(100,0.0);
xy.add(101,0.3769791404875597);
histogramDataset.addSeries(xy);
...
final NumberAxis xAxis = new NumberAxis("Temperature C");
xAxis.setAutoRangeIncludesZero(false);
final ValueAxis yAxis = new NumberAxis("Percent Time above Temperature");
final XYItemRenderer renderer = new XYBarRenderer();
final XYPlot plot = new XYPlot((XYDataset) histogramDataset, xAxis, yAxis, renderer);
Run Code Online (Sandbox Code Playgroud)
然后我以类似的方式创建折线图并将第二个系列添加到图中......
final XYSeries xy = new XYSeries("First");
final XYDataset xySeriesData = new XYSeriesCollection();
final XYItemRenderer xyLineRenderer = new XYLineAndShapeRenderer();
xyLineRenderer.setSeriesShape(0, new Line2D.Double(0.0, 0.0, 0.0, 0.0)); …
Run Code Online (Sandbox Code Playgroud) 这里接受的答案是什么(JFreechart(Java) - 如何绘制部分虚线和部分实线的线条?)帮助我开始在我的图表上更改我的seriesstroke线.单步执行我的代码并观察更改后,我发现我的seriesstroke实际上确实改为"dashedStroke"(当某个日期之后为"dashedAfter"),但是当渲染图表时整个系列行都是虚线.如何将一系列线条首先绘制为实线并在设定日期后绘制为虚线?
/* series line modifications */
final Number dashedAfter = timeNowDate.getTime();
XYLineAndShapeRenderer render = new XYLineAndShapeRenderer() {
Stroke regularStroke = new BasicStroke();
Stroke dashedStroke = new BasicStroke(
1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
1.0f, new float[] {10.0f, 6.0f}, 0.0f );
@Override
public Stroke getItemStroke(int row, int column) {
Number xVal = cd.getXValue(row, column);
if (xVal.doubleValue() > dashedAfter.doubleValue()) {
return dashedStroke;
} else {
return regularStroke;
}
}
};
render.setBaseShapesVisible(false);
render.setBaseShapesFilled(true);
render.setDrawSeriesLineAsPath(true);
plot.setRenderer(render);
Run Code Online (Sandbox Code Playgroud) 我想把文字放在我在折线图上绘制的每个点上.
这就是我能做的:
这就是我需要的(点的名称是绿色):
我正在寻找带有两个旋钮的滑动条,供用户单独或同时移动它们,类似于Java中使用的图片.任何带有两个旋钮(两个指示器)的侧边栏都可以.它存在吗?
我需要隐藏图例中的每个第二/第三/第四项.有没有办法在jFreeChart中实现这一目标?谢谢!
我试图在散点图图上用鼠标点击点的坐标.
单击某个点时,"单击事件!" 并在控制台上打印坐标.当您单击"测试"按钮时,"测试"并在控制台上打印坐标.
问题:单击按钮后打印的坐标是最新的.单击一个点后打印的坐标是先前选择的点之一.
我该如何解决这个问题(所以当我点击一个点时,会显示新选定点的坐标)?
package graph;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.util.Random;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartMouseEvent;
import org.jfree.chart.ChartMouseListener;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
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/7231824
* @see http://stackoverflow.com/questions/7205742
* @see http://stackoverflow.com/questions/7208657
* @see http://stackoverflow.com/questions/7071057
*/
public class GraphFrameOld extends JFrame {
private static final int N = …
Run Code Online (Sandbox Code Playgroud) jfreechart ×10
java ×7
swing ×2
charts ×1
linechart ×1
mismatch ×1
overlay ×1
scale ×1
slider ×1
time-series ×1