# Fill plot with gradient colors

조회 수: 152 (최근 30일)
Sergio Yanez-Pagans . 2021년 10월 31일
이동: Adam Danz . 2023년 8월 20일
I'm trying to plot a signal, for example cos(x), with a red gradient colormap for positive values and a blue one for negative values. Something similar to the solution previously discussed in: I haven't been able to make this work for me, any suggestions?
##### 댓글 수: 2없음 표시없음 숨기기
Star Strider 2021년 11월 1일
I posted this Comment responding to a similar Comment in the referenced post.
Sergio Yanez-Pagans 2021년 11월 1일
Thanks Strider!

댓글을 달려면 로그인하십시오.

### 채택된 답변

Dave B 2021년 10월 31일
편집: Dave B 님. 2021년 10월 31일
Here's one way to make the patch with the color gradient:
x=linspace(0,4*pi,100);
y=cos(x);
patch([x flip(x)],[y zeros(size(y))],[y zeros(size(y))]) You could use jet or turbo to have blue on the bottom and red on the top:
figure
patch([x flip(x)],[y zeros(size(y))],[y zeros(size(y))])
colormap jet Or you could mix hot and cool colormaps:
figure
patch([x flip(x)],[y zeros(size(y))],[y zeros(size(y))])
colormap([cool;hot]) Or you could make your own colormap, just plug in red green and blue values that suit you (first column is red, second column is green, third column is blue):
figure
patch([x flip(x)],[y zeros(size(y))],[y zeros(size(y))])
cmap = ones(256,3);
cmap(129:256,2)=linspace(0,1,128);
cmap(129:256,3)=linspace(0,1,128);
cmap(1:128,1)=linspace(1,0,128);
cmap(1:128,2)=linspace(1,0,128);
colormap(cmap); ##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
Sergio Yanez-Pagans 2021년 11월 1일
이동: Adam Danz 님. 2023년 8월 20일
Thank you Dave, that was really useful!

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Green에 대해 자세히 알아보기

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!