How to increase contrast of a 3d plot? Should I set colorbar to log scale?
8 次查看(过去 30 天)
显示 更早的评论
Hi all,
I have the following code to plot a structure with y-displacement as ColorMapData ('node.mat', 'elem.mat', 'phiOri.mat' are attached):
clear; clc;
load('node.mat', 'node');
load('elem.mat', 'elem');
load('phiOri.mat', 'phiOri')
dis = reshape(phiOri(:, 1), [3, 3146]);
dis = dis';
scaleFactor = 1;
pdeplot3D(node, elem, 'ColorMapData', abs(dis(:, 2)));
colormap jet
axis image
The image is like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195490/image.png)
As you can see the majority of displacement are small, thus most of the structure are blue. Is there a way to enhance the contrast, i.e. enhance the display of region [0 0.06], such that change in the colormap are clearer?
I think change colorbar to log scale may achieve what I want, but I don't know how to do this, please help! Thanks in advance!
0 个评论
采纳的回答
Akshay Khadse
2018-9-12
Instead of modifying the colormap scale, you could take a log of the ColorMapData values to magnify your data variations.
I tried out the following snippet:
pdeplot3D(node, elem, 'ColorMapData', 10+log10(abs(dis(:, 2))));
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Colormaps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!