朋友们,在我的应用程序中,我使用swingworker为服务器计数器生成jfreechart。为此,值在X,Y轴上更改,但图表不显示。我的代码有问题吗?请检查好友..
在" x,y" axis它显示浮点值但是hashmap的实际检索值是int 。如果我正在使用,
。Plot.getRangeAxis()setStandardTickUnits(NumberAxis.createIntegerTickUnits());
表示,在 Y轴中只显示当前值而不附近值。请朋友解决两个问题。我的图表编码是,
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();
}
}
结果是,。
提前致谢。
答案 0 :(得分:1)
您已创建包含单个数据项的数据集。如果将渲染器设置为在每个数据点显示形状,则会在图表中间看到单个项目。没有行,因为您需要至少两个数据点才能连接。
也许您在某个循环中调用此代码并期望看到多个项目......但在这种情况下,您不应每次都创建新数据集和新图表。