How to plot a HeatMap in Matlab GUIDE
Mostrar comentarios más antiguos
Do you know how to put HeatMap function into handles of my axis? Everytime I do this the new figure open with my heatmap and nothing is written into handles. Any idea how to fix this , I trie almost everythink like
plot(HeatMap(...),handles.heatMap)
handles.heatMap=plot(HeatMap)
etc.
Respuestas (1)
Image Analyst
el 19 de Ag. de 2013
0 votos
What is HeatMap? Is that an image (array variable) in your program? Or is it a vector (1-D array), since you seem to be using plot() imstead of imshow()?
Anyway, it appears that heatMap is the tag (handle) of an axes control on your GUI, so your plot will plot in that axes. But right after that, you overwrite the axes handle with the handle to the line you just plotted. That makes no sense. Both the line/curve you plotted, and the axes itself, will have their own handle ID number. You don't want to blow away the axes's handle with the handle of the thing you just plotted!
9 comentarios
Jonasz
el 19 de Ag. de 2013
Jonasz
el 19 de Ag. de 2013
Image Analyst
el 19 de Ag. de 2013
I don't have the HeatMap function. It is not in Base MATLAB or any of the toolboxes I have. What toolbox is it in? List it above in the Products section. What kind of output does HeatMap() produce? An image?
Jonasz
el 19 de Ag. de 2013
Image Analyst
el 19 de Ag. de 2013
Editada: Image Analyst
el 19 de Ag. de 2013
outputImage = HeatMap(....... % whatever...
axes(handles.heatMap);
image(outputImage);
colormap(gray(256));
I went ahead and added the Bioinformatics toolbox above for you.
Image Analyst
el 19 de Ag. de 2013
But you're not showing the code. There is some kind of problem, perhaps with the name heatmap which you are using both for an axes tag name, and for the output of the HeatMap() function. Too many heatmaps I'd say. Try using different names.
For your error "Conversion to double from HeatMap is not possible." -- this would not be the error from a call to "axes(handles.heatMap);" if you have an axes called heatMap (it's "tag" property = heatMap). You probably assigned the result from a call to the HeatMap() function to handles.heatMap, thus overwriting your axes handle (if indeed your axes was named heatMap). Remember MATLAB is case sensitive, and you can overwrite things (thus destroying them), and try to make names that are more different. Different in their name, not just their capitalization or whether they're a member of handles or not. For example, call the axes "axesHeatMap", and call the output of the HeatMap function "heatmapResult" or something like that. Don't call everything heatmap with just different capitalizations because it can lead to confusion and typos can lead to errors. It's best to avoid that.
Jonasz
el 20 de Ag. de 2013
Image Analyst
el 20 de Ag. de 2013
I have no idea because I don't have that toolbox and function, and therefore can't try anything to help you. Apparently no one else here does either since no one else has tried to help you. I suggest you call them. You have a current maintenance contract in force don't you?
Categorías
Más información sobre Data Distribution Plots en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!