2017-02-12 8 views
1

У меня есть набор данных, содержащийся в трех векторах: xx, yy и zz. Я хочу построить yy против xx с маркером цвета лица в соответствии с zz, поэтому я использую функцию рассеивания, такие как:Как отрегулировать масштаб zcolor в области разброса в Matlab?

scatter(xx,yy,50,zz,'s','filled') 

К сожалению zz имеет некоторые очень экстремальные значения, так что я не вижу никакой разницы в маркера лица цвет: все точки синего цвета!

Есть ли возможность решить эту проблему? Я думал о возможности наложить более низкое и верхнее значение для цветовой шкалы, так что любая точка с значением zz из разрешенного диапазона будет серой (или цвета ближайшей границы) ...?

Благодарим за помощь!

ответ

1

Вы можете попробовать изменить свойство осей CLim.

В этом примере используются данные примера seamount MatLab изменяет диапазон colorscale

  • из оригинального [-4250 -490]
  • к новому [-1000 -100]

По умолчанию цветовой гаммы

load seamount 
figure 
scatter(x,y,5,z) 
colorbar 

Modifie d цветовая гамма

figure 
scatter(x,y,5,z) 
set(gca,'clim',[-1000 -100]) 
colorbar 

По умолчанию цветовая гамма

enter image description here

Nodified цветовая гамма

enter image description here

+0

большой спасибо! – LeChat

+0

Добро пожаловать, счастлив, что я вам полезен. –