friend 们,在我的应用程序中,我使用 swingworker 来生成 jfreechart 或者用于服务器计数器。为此,X、Y 轴上的值发生变化,但图表未显示。我的代码有问题吗?请 friend 们检查一下..
在“x,y”轴中它显示浮点值,但从 HashMap 中实际检索的值是int。如果我正在使用,
Plot.getRangeAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());
表示,在Y 轴上仅显示当前值,而不显示其附近的值。请 friend 解决两个问题。我的图形编码是,
try
{
System.out.println("Graph Occur");
MySQLClass.GraphLock=false;
Panel1.removeAll();
XYDataset Dataset;
TimeSeries Series = new TimeSeries("Random Data");
Second sec = new Second();
ChartPanel CPanel;
if(Operation_Combo.getSelectedItem().toString().equals("MySQL"))
{
if(MySQLClass.Map_MySql.get(""+MainWindow.SelectedNode+"").equals(null))
{
Value = 0;
}
else
{
Value = Integer.parseInt(MySQLClass.Map_MySql.get(""+MainWindow.SelectedNode+""));
}
System.out.println(Value);
}
if(Operation_Combo.getSelectedItem().toString().equals("SQL Server"))
{
if(SqlServerClass.Map_SQLServer.get(""+MainWindow.SelectedNode+"").equals(null))
{
Value = 0;
}
else
{
Value = Integer.parseInt(SqlServerClass.Map_SQLServer.get(""+MainWindow.SelectedNode+""));
}
System.out.println(Value);
}
String CounterName = MainWindow.SelectedNode.toString();
Series.add(sec, Value);
Dataset = new TimeSeriesCollection(Series);
Chart = ChartFactory.createTimeSeriesChart(CounterName, "Time", "Range", Dataset, true, false, false);
XYPlot Plot = (XYPlot)Chart.getPlot();
// Plot.getRangeAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());
CPanel = new ChartPanel(Chart);
Panel1.revalidate();
Panel1.add(CPanel);
Panel1.setBackground(Color.white);
System.out.println("Chart Added");
Panel1.validate();
Thread.sleep(MainWindow.Intervel * 1000);
System.out.println("Sleep="+(MainWindow.Intervel * 1000));
CPanel.repaint();
System.gc();
if(Operation_Combo.getSelectedItem().toString().equals("MySQL"))
{
MySQLClass.SQLLock=true;
new MySQLClass().execute();
}
if(Operation_Combo.getSelectedItem().toString().endsWith("SQL Server"))
{
SqlServerClass.SQLServerLock=true;
new SqlServerClass().execute();
}
}
结果是,。
提前致谢。
最佳答案
您已创建包含单个数据项的数据集。如果将渲染器设置为在每个数据点显示形状,您将在图表中间看到一个项目。没有线,因为您至少需要连接两个数据点。
也许您在某个循环中调用此代码并期望看到多个项目...但在这种情况下,您不应该每次都创建新的数据集和新的图表。
关于java - jfreechart 中图表未显示但值发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20966205/