我正在尝试实现这个问题的答案:https://stackoverflow.com/questions/3704647/can-you-recommend-a-charting-library-for-scala/3704974#3704974
我已经从 git hub 下载并编译了Scalala
,并将scalala_2.8.1-1.0.0.RC2-SNAPSHOT.jar
放在我的 lib
文件夹中(我正在使用 SBT 进行构建)。代码如下:
import scalala.library.Plotting
object ScalalaTest extends Application
{
val x = Plotting.linspace(0,1);
}
我收到以下错误:
[error] /src/main/scala/ScalalaTest.scala:6: value linspace is not a member of object scalala.library.Plotting
[error] val x = Plotting.linspace(0,1);
[error] ^
[error] one error found
看起来我的 scala 编译器识别scalala
包,但无法识别Plotting
的成员(除了 linspace
之外,我还尝试过其他成员)。这很奇怪,因为根据Scalala API,linspace
是Plotting
的成员。
这曾经有效,而且很好,很优雅 - 似乎目前的方式是:
val x = DenseVector.range(0,100) / 100.0;
plot.hold = true
plot(x, x :^ 2)
plot(x, x :^ 3, '.')
xlabel("x axis")
ylabel("y axis")
saveas("lines.png")
此需求包括:
import scalala.tensor.dense.DenseVector
import scalala.library.Plotting._
SBT 依赖项包括:
val scalaToolsSnapshots = "Scala Tools Snapshots" at "http://scala-tools.org/repo-snapshots/"
val ScalaNLPMaven2 = "ScalaNLP Maven2" at "http://repo.scalanlp.org/repo/"
val ondex = "ondex" at "http://ondex.rothamsted.bbsrc.ac.uk/nexus/content/groups/public/"
val scalala = "org.scalala" %% "scalala" % "1.0.0.RC2-SNAPSHOT"
linspace
似乎是特质Plotting
的成员,而不是伴随对象的成员。因此,您必须创建Plotting
(或任何with Plotting
)的实例才能访问该方法。