2013-05-30 5 views
0

Я делаю графики растров, используя пакет rasterVis, который использует решетку для создания графиков. Я делаю графики уровня для некоторых данных, и график автоматически выбирает цветовую схему, основанную на значениях набора входных данных.Как установить максимальное и минимальное значения для графика решетки?

Например, мои данные представлены в виде (x, y, z), где x - горизонтальное положение точки данных, y - вертикальное положение, а z - высота. Если я создам levelplot с моими данными, цвет данных зависит от z. По умолчанию решетка использует диапазон z для выбора цветовой схемы моего сюжета. Однако, чтобы сделать мой график сопоставимым с другими наборами данных, я хочу вручную установить границы цветов.

Другой пример: вот картинка с сайта rasterVis: rasterVis image

По умолчанию, темно-красного является наименьшее значение г в данных, а темный синий является самым высоким значением г в данных. Есть ли способ вручную установить границы цветовой схемы на что-то еще, например, c (-3000, 3000)?

+0

Отображение изображения из атрибуции внешнего сайта, но без кода или данные действительно не соответствуют положению SO. Код ... нам нужен код. –

+0

попробуйте параметр 'at'' levelplot' – baptiste

+0

@DWin Извините, я попытался описать свой вопрос как можно лучше, не опубликовывая свой код, и «украл» изображение, чтобы помочь описать проблему. Оглядываясь назад, я должен был приложить больше усилий, чтобы задать свой вопрос. Спасибо за Ваш ответ. – ialm

ответ

4

Код для получения тха выше изображения находится по адресу: http://rastervis.r-forge.r-project.org/

Вовсе нужен сначала загрузить два различных большие архивные файлы и изменять код для установки рабочего каталога.

Один из способов ответа на это - подмножество значений, которые вы хотите нарисовать.

levelplot(Aug-meanAug, par.settings=RdBuTheme, 
         subset= Aug > -1500 & Aug < 500) 

enter image description here

Чтобы произвести расширенный диапазон вам нужно соответствовать заговорщической спецификации в цветовом ключе

rgb.palette <- colorRampPalette(c("red", "orange", "blue"), 
          space = "rgb") 

levelplot(Aug-meanAug, col.regions=rgb.palette(16), 
        at=seq(-3000, 3000, length=15) , contour=TRUE, 
         colorkey=list(at=seq(-3000, 3000, length=15), 
             col=rgb.palette(16))) 

enter image description here

+2

, но это не поможет, если он хочет расширить диапазон цветов, а не ограничивать его. – baptiste

+0

Да. Я понял, что после прочтения его в третий раз. Отредактированный ответ. –

+0

Спасибо, это именно то, что я искал. – ialm

Смежные вопросы