필터 지우기
필터 지우기

how to add grid to imagesc?

조회 수: 128 (최근 30일)
Rabih Sokhen
Rabih Sokhen 2022년 1월 10일
댓글: DGM 2024년 5월 13일
clear all
clc
a=rand(20,50)
x=linspace(-1,1,20)
y=linspace(-1,1,50)
imagesc(x,x,a)
I would like to add grid only at the border of every pixel in a way wen I zoom in only the initial grid appear
can someone help me with this.
thank you in advance
  댓글 수: 3
Chandan
Chandan 2024년 5월 12일
how to make the grid in crop field image
DGM
DGM 2024년 5월 13일
What grid in what image?
If you have a question to ask, use the Ask link at the top of the page to ask a question instead of hiding vague comments in old threads.

댓글을 달려면 로그인하십시오.

채택된 답변

DGM
DGM 2022년 1월 11일
It depends how you want to visualize the data. Tools like imshow() or imagesc() represent the data points at the center of each facet in the displayed image. Tools like pcolor() represent the data at the vertices. If the latter is what you intend, then just use pcolor() instead of imagesc().
If you actually want the matrix represented as an image, then you'll have to create the grid. One way would be to just overlay a mesh plot.
s = [4 5]; % [y x]
xrange = [-1 1]; % imagesc only needs the endpoints
yrange = [-1 1];
a = rand(s);
dx = diff(xrange)/(s(2)-1);
dy = diff(yrange)/(s(1)-1);
xg = linspace(xrange(1)-dx/2,xrange(2)+dx/2,s(2)+1);
yg = linspace(yrange(1)-dy/2,yrange(2)+dy/2,s(1)+1);
hi = imagesc(xrange,yrange,a); hold on
hm = mesh(xg,yg,zeros(s+1));
hm.FaceColor = 'none';
hm.EdgeColor = 'k';
You might try to do it by setting the grid properties of the axes, but you'll have to contend with the ticklabels if you do that.
As to how you make the added grid appear only at certain zoom levels, you'd have to create some sort of custom callback to do that. I'll leave that to someone else.
  댓글 수: 9
Rabih Sokhen
Rabih Sokhen 2022년 1월 14일
thank you DGM, it works
Kristoffer Walker
Kristoffer Walker 2024년 1월 23일
This is a long-standing RSI issue. This seems like a low-hanging fruit that someone could easily create an API for to make it so much easier for those of us who use and love imagesc. Just add the property "grid", "on". How hard can it be?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by