DefaultCategoryDataset

DefaultCategoryDataset

通常我们需要使用addValue手动将值添加到数据集,如下所示,

 DefaultCategoryDataset dataset =new DefaultCategoryDataset( );
         dataset.addValue( 1.0 , fiat , speed );
          dataset.addValue( 3.0 , fiat , userrating );
          dataset.addValue( 5.0 , fiat , millage );
          dataset.addValue( 5.0 , fiat , safety; )


是否有其他方法可以借助arraylist或hashmap创建数据集

最佳答案

有一些示例:Examples

或者,如果您要使用列表自动添加值,请执行以下操作:

 static class Customer{
    String name;
    int salary;
    int age;

    public Customer(String name, int salary, int age) {
        this.name = name;
        this.salary = salary;
        this.age = age;
    }
}

public static void main(String[] args) {

    ArrayList<Customer> data = new ArrayList<Customer>(){{add(new Customer("x",100,20));add(
    new Customer("y",200,30));add(new Customer("z",300,40));}};
    for(Customer c:data){
        System.out.println(c.name+" _ "+c.salary+" - "+c.age);
    }

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    for(Customer c :data){
        dataset.addValue(c.salary, "low", "");
    }

     //Cont'd other JFreechart codes ...


}


如果您使用Java,并尝试执行以下操作:DefaultCategoryDataset list = new Arraylist<>()这是不可能的。因为DefaultCategoryDataset(DefaultCategoryDataset)是从AbstracDataset扩展而来的,并且实现了Serializable(java.io.Serializable)。所以无法使用arraylist和hashmap。

protected AbstractDataset() {
    this.group = new DatasetGroup();
    this.listenerList = new EventListenerList();
    this.notify = true;
}

关于java - 我可以从 map 或数组列表的jfree中将数据设置为DefaultCategoryDataset吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46336948/

10-11 06:44