Scatter chart with colours from dark to light along the x-axis and blue to red along the y-axis
5 次查看(过去 30 天)
显示 更早的评论
Hi,
I made a scatter based on interpolation of RGB colours (using only R and B) based on the y-axis data. Now I want the colours to change from dark to light based on the data of x axis. How can I do that? Thanks in advance!
Here is what I have right now and what I get:
b = [0 0 1]; % Blue
r = [1 0 0]; % Red
x =[27.5 26.8 68 70.5 43.5 45.2 72];
y = [7.2 3 7.9 1.7 4.23 1.057 0.89];
y_min_max = [min(y);max(y)];
color = interp1(y_min_max,[b;r],y);
figure()
s = scatter(x,y,80,color,'filled');
grid on; grid minor; box on
xlabel('x')
ylabel('y')
0 个评论
采纳的回答
William Rose
2023-1-5
编辑:William Rose
2023-1-5
@T,
b = [0 0 1]; % Blue
r = [1 0 0]; % Red
%x =[27.5 26.8 68 70.5 43.5 45.2 72];
%y = [7.2 3 7.9 1.7 4.23 1.057 0.89];
x = rand(1,1000);
y = rand(1,1000);
y_min_max = [min(y);max(y)];
color = interp1(y_min_max,[b;r],y); %initial color based on y value
lightness=(x-min(x))/(max(x)-min(x)); %lightness of each point, in [0,1]
lightness=repmat(lightness',1,3);
color2=color.*lightness; %adjust lightness of each point
figure()
s = scatter(x,y,80,color2,'filled');
grid on; grid minor; box on
xlabel('x')
ylabel('y')
Good luck.
4 个评论
William Rose
2023-1-17
@T, you're welcome. The answer I posted as a comment is better, in my opinion, than my initial answer. Good luck.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Scatter Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!