Math » MATH/GNUPLOT

Функции

gnuplot-data-plot(f-name data &key (terminal (format nil ~a *term-pdfcairo*)) (output (concatenate (quote string) set output ' (file-name f-name pdf) ')) (preamble set xrange [0:4]) (plot (concatenate (quote string) plot ' (file-name f-name data) ' u 1:2 with lines)))

Описание: функция gnuplot-data-plot

Пример использования:

;;;; Пример 1
 (math:gnuplot-data-plot
 "plot2"
 (mapcar #'(lambda (x)(list x (sin x)(sqrt x)))
	 (math:split-range 0.0 10 1000))
 :plot "plot 'plot2.data' u 1:2 with lines lt 1, 'plot2.data' u 1:3 with lines lt 2 ")

gnuplot-splot(f-name &key (terminal set terminal pdfcairo enhanced font 'Arial,14' size 13.5 cm, 5.0 cm ) (output (concatenate (quote string) set output ' f-name .pdf')) (preamble nil) (palette *palette-defined*) (pm3d *pm3d-map*) (splot (concatenate (quote string) splot ' (file-name f-name data) ' u 2:1:3)))
Осуществляет подготовку данных, содержащихся в файле f-name с расширением data. Данные в файле должны иметь формат gp-list
make-plot-data-file(f-name data)

Описание: функция make-plot-data-file выполняет вывод данных data в файл с именем f-name и расширением data.

Пример использования:

;;;; Пример 1
 (make-plot-data-file
  "plot2"
  (mapcar
   #'(lambda (x)
       (list x (sin x)(sqrt x)))
   (math:split-range 0.0 10 1000)))

make-table(lst-1 lst-2)

Описание: make-table выполняет формирование списка точек, разделенного на группы.

Пример использования:

(make-table (split-range 1.0 0.0 2)(split-range -3 0 3))
  =>  (((1.0 -3.0)(1.0 -2.0)(1.0 -1.0)(1.0 0.0))
       ((0.5 -3.0)(0.5 -2.0)(0.5 -1.0)(0.5 0.0))
       ((0.0 -3.0)(0.0 -2.0)(0.0 -1.0)(0.0 0.0)))

rgb(aa rr gg bb)

Описание: функция rgb возвращает строковое представление цвета.

Переменые:

  • aa = 0..255 яркость;
  • rr = 0..255 насыщенность красного;
  • gg = 0..255 насыщенность зеленого;
  • bb = 0..255 насыщенность синего.

table-apply(table func &rest second-and-others)

Описание: функция table-apply

Пример использования:

(make-table (split-range 1 4 3)(split-range 5 7 2)) 
 => 
 (((1.0 5.0)(1.0 6.0)(1.0 7.0)) 
  ((2.0 5.0)(2.0 6.0)(2.0 7.0))
  ((3.0 5.0)(3.0 6.0)(3.0 7.0)) 
  ((4.0 5.0)(4.0 6.0)(4.0 7.0)))

 (table-apply (make-table (split-range 1 4 3)(split-range 5 7 2))  #'* 10.) 
 =>
 (((1.0 5.0  50.0)(1.0 6.0  60.0)(1.0 7.0  70.0))
  ((2.0 5.0 100.0)(2.0 6.0 120.0)(2.0 7.0 140.0))
  ((3.0 5.0 150.0)(3.0 6.0 180.0)(3.0 7.0 210.0))
  ((4.0 5.0 200.0)(4.0 6.0 240.0)(4.0 7.0 280.0)))

 (table-apply (make-table (split-range 1 4 3)(split-range 5 7 2))  #'vector)
 =>
 (((1.0 5.0 #(1.0 5.0))(1.0 6.0 #(1.0 6.0))(1.0 7.0 #(1.0 7.0)))
  ((2.0 5.0 #(2.0 5.0))(2.0 6.0 #(2.0 6.0))(2.0 7.0 #(2.0 7.0)))
  ((3.0 5.0 #(3.0 5.0))(3.0 6.0 #(3.0 6.0))(3.0 7.0 #(3.0 7.0)))
  ((4.0 5.0 #(4.0 5.0))(4.0 6.0 #(4.0 6.0))(4.0 7.0 #(4.0 7.0))))

Обобщенные функции

gnuplot-data-to-file(f-name data)
Описание: обобщенная функция gnuplot-data-to-file выводит данные data в файл с именем f-name, расположенный в каталоге поумолчанию (см. переменную *default-gnuplot-direcroty*).

Методы

gnuplot-data-to-file(f-name (data cons))

Описание: метод gnuplot-data-to-file выводит данные data в файл с именем f-name, расположенный в каталоге поумолчанию (см. переменную *default-gnuplot-direcroty*).

Данные должны быть представлены 2d-list.

Пример использования:

(gnuplot-data-to-file "data" 
  (loop :for i :from 0 :to 4 :by 1/10 :collect (list i (* i i))))

gnuplot-data-to-file(f-name (data array))

Описание: метод gnuplot-data-to-file выводит данные data в файл с именем f-name, расположенный в каталоге поумолчанию (см. переменную *default-gnuplot-direcroty*).

Данные должны быть представлены 2d-array.

Пример использования:

(gnuplot-data-to-file "data" 
  (loop :for i :from 0 :to 4 :by 1/10 :collect (list i (* i i))))

(gnuplot-data-to-file "data" (make-array '(5 2) :initial-contents '((0 0)(1 1)(2 4)(3 9)(4 16))))