make a data plot
4 ビュー (過去 30 日間)
古いコメントを表示
Ioannis Vourvachakis
2021 年 12 月 16 日
コメント済み: Ioannis Vourvachakis
2021 年 12 月 16 日
Hello! I want to make a plot like this, but I don't know exactly how.
More specifically,I want to plot the possible values of flux variability for some reactions.
Could someone guide me? Thank you.
3 件のコメント
採用された回答
John D'Errico
2021 年 12 月 16 日
編集済み: John D'Errico
2021 年 12 月 16 日
Easier than you think.
First, write a little function that will plot a bar of fixed height, between two points on the x axis. It might look like the function called xbar below.
Next, call that function repeatedly, once for each horizontal bar.
Finally, change the y axis to have a different set of tick labels. It looks like you will need to set the YTickLabel property on the axes. For example:
plot(rand(1,5))
H = get(gca);
H.YTickLabel
Now you can reset those tick mark lables as desired. And they need not be numbers.
function xbar(y,xlo,xhi,barcolor)
% On the current figure, creates a horizontal bar
% of unit height, between y and y+1, and between xlo and xhi
% this can be as simple as one call to fill.
barpolyx = [xlo,xhi,xhi,xlo];
barpolyy = [y,y,y+1,y+1];
fill(barpolyx,barpolyy,barcolor)
end
Should be pretty simple. Spend some time learning to use the basic tools.
4 件のコメント
John D'Errico
2021 年 12 月 16 日
Wait. You were the one who implied you knew that.
I have no idea what it means to have ALL of the values shown. But surely you might be able to choose two percentiles of your data. Perhaps the 5 and 95% points from the data, thus excluding a few outliers. Or the 1% and 99% points. Or just the max and the min. Your choice.
help prctile
help min
help max
その他の回答 (1 件)
Arthur Goldsipe
2021 年 12 月 16 日
8 件のコメント
Arthur Goldsipe
2021 年 12 月 16 日
The function from the Stats toolbox is named boxplot (not boxchart).
参考
カテゴリ
Help Center および File Exchange で Graphics Object Programming についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!