How can I remove the white edge in the density map?

1 次查看(过去 30 天)
I used imagesc to plot a density map and plotted an additional point (the red one) in the figure to highlight that this is my basepoint. As seen in the image there is white edge at the x-axis of my density map, I probably think that there is no density points at that area. How can I turn this white edge to blue which is according to the colorbar 0 density.
I tried to extend the limit scale of 'ydata' before, this will result to a wrong density map, such that points below my basepoint are plotted.
testtri = worldpointscorrtri; % points i want to illustrate in density map
grid1 = 256; %refinement of map
minvalstri = min(testtri);
maxvalstri = max(testtri);
rangevalstri = maxvalstri - minvalstri;
xidxtri = 1 + round((testtri(:,1) - minvalstri(1)) ./ rangevalstri(1) * (grid1-1));
yidxtri = 1 + round((testtri(:,2) - minvalstri(2)) ./ rangevalstri(2) * (grid1-1));
densitytri = accumarray([yidxtri, xidxtri], 1, [grid1,grid1]); %note y is rows, x is col
densitytri = densitytri.*(1/max(densitytri,[], 'all'));
imagesc(densitytri, 'xdata', [minvalstri(1), maxvalstri(1)], 'ydata', [minvalstri(2), maxvalstri(2)]);
hold on;
plot(worldpoints_meltcorrtri(:, 1), worldpoints_meltcorrtri(:, 2), 'r*');
colorbar;
axis tight ;
axis square;
xlabel('x in mm ')
ylabel('-y in mm ')

采纳的回答

Adam Danz
Adam Danz 2019-6-26
编辑:Adam Danz 2019-6-26
Try this
axis tight
xlim([minvalstri(1), maxvalstri(1)])
ylim([minvalstri(2), maxvalstri(2)])
Note that these points are the centers of the corner squares so you'll cut off 1/2 of the upper, lower, right and left eges. Your resoltuion looks tiny so this won't be noticible but you might want to account for this issue by adding +/-1/2 of your square size to the axis limits.
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by