MATLAB Answers

How to show the negative value on the graph?

1 view (last 30 days)
KIEN WEI LAI
KIEN WEI LAI on 15 Mar 2020
Edited: Sindar on 15 Mar 2020
Hi everyone, I want to show all the values into the graph including positive value and negative value. This is the expected outcome:
However, I could not display the negative value below 0 at the y-axis, I only can display the positive value only which above 0.
This is the value that I wanted to insert into the graph from the txt file:
Anyone can help me to solve the problem? Thanks in advance.
This is the code that I am using:
semilogy(lai2(:,1),lai2(:,2),'-b')

  2 Comments

Stephen Cobeldick
Stephen Cobeldick on 15 Mar 2020
"Anyone can help me to solve the problem?"
Errr... don't use semilogy.
What do you expect negative logarithms to represent?
KIEN WEI LAI
KIEN WEI LAI on 15 Mar 2020
I want to show the result as the expected result from the diagram. However, I could not display the negative algorithm.

Sign in to comment.

Answers (1)

Sindar
Sindar on 15 Mar 2020
Edited: Sindar on 15 Mar 2020
If you want to plot both positive and negative data on a log scale, your best bet is to check out symlog: https://www.mathworks.com/matlabcentral/fileexchange/57902-symlog
(It answers a question you seem to be ignoring: what to do with something like -1.00E-01)
However, that doesn't actually seem to be your goal, since your Line #10 (value -3.48E-00) is plotted at -3.48, not -log(3.48) or something like that. And your tick marks are evenly spaced. Your "expected outcome" plot is not on a log scale. Just use plot:
plot(lai2(:,1),lai2(:,2),'-b')

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags