带有 Wisp scala 绘图库的字符串类别名称

String category names with Wisp scala plotting library

我正在尝试使用 Wisp 绘制字符串类别的条形图。换句话说,我的 repl 中有一个字符串(键)和一个计数(值),我想要一个计数与键的条形图。

我不知道是否存在简单的事情。我做了以下黑客攻击:

val plot = bar(topWords.map(_._2).toList)
val axisType: com.quantifind.charts.highcharts.AxisType.Type = "category"
val newPlot = plot.copy(xAxis = plot.xAxis.map {
  axisArray => axisArray.map { _.copy(axisType = Option(axisType),
                                      categories = Option(topWords.map(_._1))) }
})

但我不知道它是否有效,因为我找不到可视化的方法 newPlot。或者在 Wisp 源代码中添加一个方法来实现上述内容是可行的方法吗?

感谢您的帮助。

PS : 我没有创建 wisp 标签的声誉,但我会...

更新:在 wisp 0.0.5 或更高版本中将直接支持:

column(List(("alpha", 1), ("omega", 5), ("zeta", 8)))

====

感谢您试用 wisp(我是作者)。我认为您可能遇到的一个问题是通过命名您的变量 plot,您覆盖了对 Highcharts 定义的 plot 方法的访问,它允许您绘制任何 Highchart目的。 (现在我看到了,不幸的是,将您的地块命名为 "plot" 是很自然的事情!)

我将此作为 github 问题提交,因为类别名称非常常见。

这对我有用。我使用 column 作为竖线:

import com.quantifind.charts.Highcharts._
val topWords = Array(("alpha", 14), ("beta", 23), ("omega", 18))
val numberedColumns = column(topWords.map(_._2).toList)
val axisType: com.quantifind.charts.highcharts.AxisType.Type = "category"
val namedColumns = numberedColumns.copy(xAxis = numberedColumns.xAxis.map {
  axisArray => axisArray.map { _.copy(axisType = Option(axisType),
                                       categories = Option(topWords.map(_._1))) }
})
plot(namedColumns)

生成此可视化:

(您也可以考虑一次创建一个条形,并使用图例命名)