绘制一个实时变化的动态图形

时间:2015-05-14 18:27:00

标签: java swing twitter awt

我有这个代码..根据我应用的过滤器打印实时推文,并在推文中搜索以下子字符串,如果有特定于该子字符串的特定计数器增加。

现在,我想绘制一个图表,将这两个计数器作为输入并显示实时变化。

请告诉我任何api使用或任何方法可以做到。谢谢

StatusListener listener;
listener = new StatusListener(){
         int count1=0,count2=0;
String s1="#rcb";
String s2="#kxip";
String s3="#RCB";
String s4="#KXIP";
        @Override
        public void onStatus(Status status) {
            t.append("\n" + status.getUser().getName() + " : " +      status.getText() + "\n");
            String str=status.getText();

            if(str.contains(s1)||str.contains(s3))
                count1++;
            else if(str.contains(s2)||str.contains(s4))
                count2++;
            t.append("Count1:"+count1);
            t.append("Count2:"+count2);
            DefaultCategoryDataset barChartData=new                 DefaultCategoryDataset();
            barChartData.setValue(count1,"Popularity","RCB");
            barChartData.setValue(count2,"Popularity","KXIP");
            JFreeChart barChart= ChartFactory.createBarChart("Popularity Meter","Teams", "Popularity Count", barChartData, PlotOrientation.VERTICAL, rootPaneCheckingEnabled, rootPaneCheckingEnabled, rootPaneCheckingEnabled);
            CategoryPlot barchrt=barChart.getCategoryPlot();
            barchrt.setRangeGridlinePaint(Color.ORANGE);
            ChartPanel barPanel= new ChartPanel(barChart);
            jPanel2.removeAll();
            jPanel2.add(barPanel,BorderLayout.CENTER);
            jPanel2.validate();

        }

1 个答案:

答案 0 :(得分:2)

JFreeChart是一个流行的Java图表库:

http://www.jfree.org/jfreechart/

从模型中驱动图表,使用您的值更新模型,然后告诉图表模型数据已更改。