scala和jfreechart

时间:2017-08-17 12:47:07

标签: scala jfreechart

有一个ListMap具有以下值:

阶>的 mx_sorted

res30: scala.collection.immutable.ListMap[Int,Int] = Map(0 -> 0, 5 -> 1, 10 -> 10, 15 -> 66, 20 -> 157, 25 -> 175, 30 -> 135, 35 -> 106, 40 -> 88, 45 -> 80, 50 -> 62, 55 -> 32, 60 -> 19, 65 -> 8, 70 -> 4, 75 -> 0, 80 -> 0)

阶>的 mx_sorted.foreach(的println)

(0,0)
(5,1)
(10,10)
(15,66)
(20,157)
(25,175)
(30,135)
(35,106)
(40,88)
(45,80)
(50,62)
(55,32)
(60,19)
(65,8)
(70,4)
(75,0)
(80,0)

创建了DefaultCategoryDataset

val ds = new org.jfree.data.category.DefaultCategoryDataset

当我尝试向此数据集添加值时,会收到错误。

阶> mx_sorted.foreach {case(k,v)=> ds.addValue(V, “UserAges” 中,k)}

<console>:41: error: overloaded method value addValue with alternatives:
  (x$1: Double,x$2: Comparable[_],x$3: Comparable[_])Unit <and>
  (x$1: Number,x$2: Comparable[_],x$3: Comparable[_])Unit
 cannot be applied to (Int, String, Int)
              mx_sorted.foreach{case(k,v) => ds.addValue(v,"UserAges",k)}

请帮助纠正这个问题。

1 个答案:

答案 0 :(得分:1)

快速解决方案为{case(k,v) => ds.addValue(v: Double, "UserAges", k: java.lang.Integer)}java.lang.不是必需的,可能两者都不是: Double,我只是将其包括在内以使其更清晰)。问题是Int没有扩展Comparable(因为它对应于原始JVM int类型),所以它需要被装箱到java.lang.Integer。{ / p>