Пожалуйста, помогите понять следующий пример использования Бриз. В приведенном ниже коде есть как вызовы метода объекта Scala, такие как f.subplot(0)
, f.saveas
и т. Д., А также вызовы функций: linspace(0.0,1.0)
, plot(x, x :^ 2.0)
.Синтаксис Scala: Breeze (scalanlp.org)?
Как обычно, методы объекта описаны в создаваемой документации: http://www.scalanlp.org/api/index.html#breeze.plot.Plot
Вопросы:
1) Где я могу найти спецификации вызовов функции: linspace(0.0,1.0)
, plot(x, x :^ 2.0)
? Насколько мне известно, для создания Бриз использует JFreeChart (http://www.jfree.org/jfreechart/download.html). Возможно, эти linspace
и plot
являются объектами Java, импортированными из пакета JFreeChart?
2) Что означает x :^ 3.0
?
import breeze.plot._
val f = Figure()
val p = f.subplot(0)
val x = linspace(0.0,1.0)
p += plot(x, x :^ 2.0)
p += plot(x, x :^ 3.0, '.')
p.xlabel = "x axis"
p.ylabel = "y axis"
f.saveas("lines.png") // save current figure as a .png, eps and pdf also supported
Спасибо! Итак, какую стратегию нужно использовать для поиска таких функций, как 'linspace' и' plot' в созданных API-документах? И 'x:^3.0' является анонимной (лямбда-функцией)? –
Нет, это стандартная операция. Вы можете найти в источнике в NumericOps. Есть какая-то причудливая scala, что-то, чтобы это не относилось к нескольким типам, кроме DenseVector, но вы должны быть в состоянии получить суть того, что она делает. https://github.com/scalanlp/breeze/blob/master/math/src/main/scala/breeze/linalg/NumericOps.scala#L51 – Noah
И какую стратегию следует использовать для определения определений функций типа 'linspace' и 'plot' в созданных API-документах? –