how can i plot a horozontal bar graph where the bars color change acording to a formula?
i have 5 different hights (70, 115, 164, 216, 270) each going from 0 to 130 that change intensity acording to different formula for each hight
i want to draw a horozontal bar graph with hights on y axes 0-130 on y axes and the bar changing colors accoring to the formulas

10 件のコメント

Mehmed Saad
Mehmed Saad 2020 年 4 月 16 日
can you give me the formula from which you want to change the color
ralph glastonbury
ralph glastonbury 2020 年 4 月 16 日
Y = 0,000000272010410X^3 - 0,000071941838974X^2 + 0,004930888800712X + 1,902355241509030
it should look like a color map but change colors according to this formula
Mehmed Saad
Mehmed Saad 2020 年 4 月 16 日
something like this
or this
ralph glastonbury
ralph glastonbury 2020 年 4 月 16 日
yes but the color should change acording to the formula
Mehmed Saad
Mehmed Saad 2020 年 4 月 16 日
編集済み: Mehmed Saad 2020 年 4 月 16 日
yup but i didn't get your formula
colors are in the format of [r g b], how can you get these 3 values from your formula?
Y = 0,000000272010410X^3 - 0,000071941838974X^2 + 0,004930888800712X + 1,902355241509030
ralph glastonbury
ralph glastonbury 2020 年 4 月 16 日
i want something like a color map where the color change as y change
like the botom graph you send. the y axis stays at 1 but the colors in the bar changes acording to the formula
Y = 0,000000272010410X^3 - 0,000071941838974X^2 + 0,004930888800712X + 1,902355241509030
Mehmed Saad
Mehmed Saad 2020 年 4 月 16 日
color has three components [R,G,B], the formula should be such that it calculates the value of all three components for example
R = 0.15*X^2+0.12786*X^3+1.956;
G = 0.75*X^2+0.52786*X^3+0.956;
B = 0.95*X^2+0.72786*X^3+3.956;
Now that is what i want
ralph glastonbury
ralph glastonbury 2020 年 4 月 16 日
Sorry i think i miscommunicated
The formula is a trend line for some data I have
I want to show how the data changes for x from 0 to 130
For that numbers y changes from about 1.9 to about 2.01
So for example if x=0, y would be about 1.9 it should show blue on the bar
And if x=130 y would be less than 2.01 and that should show red
Like on the jet colormap
So the color would change as x change
Does this make sense?
Mehmed Saad
Mehmed Saad 2020 年 4 月 16 日
編集済み: Mehmed Saad 2020 年 4 月 16 日
is this right? i am only change R and B values not G
ralph glastonbury
ralph glastonbury 2020 年 4 月 16 日
yes that is what im looking for

サインインしてコメントする。

 採用された回答

Mehmed Saad
Mehmed Saad 2020 年 4 月 14 日
編集済み: Mehmed Saad 2020 年 4 月 16 日

0 投票

Now i am giving you code for only generating 1 peak which is random, you ve to generate the remaining by yourself
figure,
h=barh([0 1],[zeros(1,131);randi(3,1,131)],'stacked','BarWidth',0.4);
X = 0:130;
Y = 0.000000272010410*X.^3 - 0.000071941838974*X.^2 + 0.004930888800712*X + 1.902355241509030;
Z=Y-min(Y);
Z=Z/max(Z);
for i=1:131
h(i).FaceColor = [1-Z(i) 0 Z(i)];%m(i,:);
h(i).EdgeColor = [1-Z(i) 0 Z(i)];%m(i,:);
end

1 件のコメント

ralph glastonbury
ralph glastonbury 2020 年 4 月 16 日
thank you so much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Discrete Data Plots についてさらに検索

製品

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by