# How to draw with semiology in MATLAB?

5 visualizzazioni (ultimi 30 giorni)
Haitham AL Satai il 21 Set 2022
Commentato: Haitham AL Satai il 21 Set 2022
I have below the following information:
Q = [16,32,64,128,256,512,1024];
y = [9 9 9 9 5 0 0]*0.25;
y1 = [45 37 25 21 5 0 0]*0.25;
After multiplication with 0.25 they became as below
y
y1
and the above Q is the same
when I use the semiology plot function as below
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
I saw the x and y axis are different than what I have in Q and Y as shown below. Does this make sense?
Do I apply it in the wrong way (I mean xlim and ylim not as the values in vectors for example x-axis (16 , 32, ...1024))? If yes, May you assist me?
##### 4 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Stephen23 il 21 Set 2022
Modificato: Stephen23 il 21 Set 2022
"I mean xlim and ylim not as the values in vectors for example x-axis (16 , 32, ...1024))"
Because the 0-values are not plotted the corresponding x-values are ignored, so your x data range is from 16 to 256.
Haitham AL Satai il 21 Set 2022
@Stephen23 Thanks a lot for your clarification dear.

Accedi per commentare.

### Risposta accettata

Chunru il 21 Set 2022
Modificato: Chunru il 21 Set 2022
Q = [16,32,64,128,256,512,1024];
y = [9 9 9 9 5 0 0]*0.25;
y1 = [45 37 25 21 5 0 0]*0.25;
% in logscale, log(0) = -inf and it cannot be plotted
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
xlim(Q([1 end]))
% Why not plot in linear scale when data range is not big?
figure
plot(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
% or you should change your data
Q = [16,32,64,128,256];
y = [9 9 9 9 5 ]*0.25;
y1 = [45 37 25 21 5 ]*0.25;
figure
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Haitham AL Satai il 21 Set 2022
@Chunru Thank you dear sir. I just wanted to take the both kind of results semiology and line plot and compare between them.

Accedi per commentare.

### Più risposte (1)

Dyuman Joshi il 21 Set 2022
The graph is correct. The y axis values are shown in log values as you wanted them to be.
And, for the last two values of Q, the corresponding values are 0 in y and y1. So they are not included for the log values.
If you want to identify the points in x axis, you can try changing the xticks, but it might result in a distorted grid. (You can do the same for yticks as well.)
Q = [16,32,64,128,256,512,1024];
y = [9 9 9 9 5 0 0]*0.25;
y1 = [45 37 25 21 5 0 0]*0.25;
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
%yticks(union(y,y1))
xticks(Q)
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Haitham AL Satai il 21 Set 2022
@Dyuman Joshi Thank you very much dear sir.

Accedi per commentare.

### Categorie

Scopri di più su Grid Lines, Tick Values, and Labels in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by