Interactive manipulation with graph in Matlab

Hi,
I am trying to plot a graph that has a filling underneath it, and a threshold value like a bar that can vary, so that the filling of the areas separated by the threshold is differently colored. I should be able to that by combining the functions "area" and "bar".
I would like to make the graph interactive, namely I would like to see how the graph would look like if the threshold value varies. Basically I am looking for something that is very similar to the "Manipulate" function in Wolfram Mathematica (link for reference):
Any suggestion would be greatly appreciated. Many thanks in advance!

回答 (2 件)

Sean de Wolski
Sean de Wolski 2011 年 7 月 18 日

1 投票

Perhaps Doug's Challenge/Replies/Answer will be useful to you:

1 件のコメント

Aleksandar
Aleksandar 2011 年 7 月 18 日
Thanks a lot! I also got another idea by using a slider which was the one I was hoping to get, but this one by using the mouse is also very intuitive. I will experiment with both of the approaches and see which one fits better to my needs.

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

Patrick Kalita
Patrick Kalita 2011 年 7 月 18 日

1 投票

You can achieve an effect similar to Mathematica's "Manipulate" by adding a uicontrol to your figure and programming it's Callback property to adjust the graph as needed. This requires some effort, but provides a lot of flexibility. Here is a very simple example:
% Make the plot
a = area( randn(1, 100) );
% Add a slider
uicontrol( ...
'Style', 'slider', ...
'Min', -3, ...
'Max', 3, ...
'Callback', @(src, evt) set(a, 'BaseValue', get(src, 'Value')));

1 件のコメント

Aleksandar
Aleksandar 2011 年 7 月 18 日
Thanks a lot, this is exactly what I was looking for! I also got another idea by using the mouse which is also very intuitive. I will experiment with both of the approaches and see which one fits better to my needs.

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

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

質問済み:

2011 年 7 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by