-не так Часто Задаваемые Вопросы- обновлено 2010/12/26
|
|
not so FAQ
|
3D построения с цветной картой (pm3d)Как изменить цвета 3D фигуры?[ver.4] ONLY ! По умолчанию pm3d использует цветную карту, изменяющуюся от черного до желтого сквозь синий и красный. Чтобы изменить этот градиент, используется команда set palette . Чтобы управлять цветной картой, необходимо добавить некоторые опции. Предпологается, что имеется функция (или данные) со значениями Z изменяются от -3 до 1. Функция f(x,y) = (2*sin(x)-1)*exp(-y). Теперь используем красный для максимального значения (Z=1), синий - для минимального значения (Z=-3), а другие цвета не будем использовать Z=0. gnuplot> set ticslevel 0 gnuplot> set pm3d gnuplot> set palette defined (-3 "blue", 0 "white", 1 "red") gnuplot> splot (2*sin(x)-1)*exp(-y) with pm3d Pm3d интерполирует цвета между двумя определенными точками Z. В примере приведенном выше, цвета изменялись от синего к белому в диапазоне Z от -3 до 0. В этом примере, цвет для Z=0 такой же как цвет фона - белый. Такая цветная карта полезна, когда необходимо потускнение некоторой области, в которой данные не так важны. Например, в 2D построении необходимо исключить область с нулевой плотностью. Это можно понять по примеру приведенному выше, если проектировать 3D данные на 2D пространство. Отрицательную область показывает синий, положительную - красный, а другая область выглядит пустой. gnuplot> set pm3d map gnuplot> replot Другой метод - использование опции rgbformulae, придерживающейся трех целых значений. Эти значения используются для трех цветов -- красный(R)/зеленый(G)/синий(B), и каждый номер - индекс некоторых стандартных функций. Например rgbformulae 0,0,3 означает, что gnuplot не использует красный и зеленый, но высота значений Z выражается линейной цветной вариацией от черного к синему. Есть 37 функций изменения цвета, имеющие индекс от 0 до 36. Индекс функции равный трем 3, использованный в примере выше, - простая линейная функция (по умолчанию). Gnuplot устанавливает значения 7,5,15, где функция 7 - sqrt(x), 5 - x^5 и 15 - sin(360x). Определенные этими индексами функции можно увидеть при помощи show palette rgbformurae. Вообще, получить подходящую цветовую политру командой palette rgbformulae тяжело. Однако, команда help palette rgbformulae может дать некоторые намеки. Например, комбинация 33,13,10 - "радуга", подобная этой. gnuplot> set palette rgbformulae 33,13,10 gnuplot> splot -x*x with pm3d Другая помощь в окраске Gnuplot рекомендуется здесь: Сейчас получим другую "радугу" gnuplot> set pm3d map gnuplot> set size square gnuplot> set palette rgbformulae 22,13,-31 gnuplot> splot -(x*x+y*y) from Martin in Czech Republic. Thanks !
|