MATLAB Fixing Matlab Plot Error: Invalid Color/Linetype Argument

  • Thread starter Thread starter MathematicalPhysicist
  • Start date Start date
  • Tags Tags
    Plot
AI Thread Summary
The discussion centers around an issue with a MATLAB plotting command that generates an error due to an incorrect character in the line type argument. The original command used 'k-', which led to a warning about the color/linetype argument. The correct format should be '-k', which resolved the issue. However, it was noted that the problem stemmed from a non-standard dash character being used instead of a regular minus sign, causing MATLAB to misinterpret the command. This highlights the importance of ensuring that copied code contains the correct characters, as pasting from different sources can introduce formatting errors. Participants emphasized the need for careful text handling when programming to avoid such pitfalls.
MathematicalPhysicist
Science Advisor
Gold Member
Messages
4,662
Reaction score
372
I am using Matlab's 2017Rb academic license.

And while trying to operate the following sequence of commands:
Matlab:
x = linspace(0,2*pi,1000);
y = sin(2*x);
plot(x,y,'k−','linew',2); hold on;

I get the following warning:
Matlab:
Error using plot
Error in color/linetype argument.

What seems to be wrong in the above code?

Thanks.
 
Physics news on Phys.org
So the error is in 'k-', how it should be?
'-k', yes now it works.
 
  • Like
Likes AgusCF and jedishrfu
MathematicalPhysicist said:
So the error is in 'k-', how it should be?
'-k', yes now it works.
But... '-k' make the same as 'k' I think...
 
MathematicalPhysicist said:
So the error is in 'k-', how it should be?
'-k', yes now it works.
Interesting. The documentation says that the order of the symbols doesn't matter. So this is either a bug or there is something else going on.
 
  • Like
Likes AgusCF
FactChecker said:
Interesting. The documentation says that the order of the symbols doesn't matter. So this is either a bug or there is something else going on.
Did you try it in your machine?

I have Ubuntu 16.04 as the OS in this computer.
 
AgusCF said:
But... '-k' make the same as 'k' I think...
Yes, it works as well.
 
  • Like
Likes AgusCF
MathematicalPhysicist said:
Yes, it works as well.
And... Why were you trying to plot 'k-'?
 
AgusCF said:
And... Why were you trying to plot 'k-'?
I copy-paste this snippet of code from some lecture notes I am reading.

So there I had this 'k-'.
 
  • #10
MathematicalPhysicist said:
Did you try it in your machine?

I have Ubuntu 16.04 as the OS in this computer.
I'm retired and no longer have access to MATLAB. I'm thinking about buying it just for these occasions.
 
  • #11
It's not a bug. And the order doesn't matter. The problem is you don't have a dash in there. It's some character that looks like a dash but isn't. When I paste in your code it shows the error message

Error using plot
Error in color/linetype argument.
Error in test1 (line 3)
plot(x,y,'k?','linew',2); See the question mark indicating it doesn't know what that character is? If you get rid of that "dash" and replace it with a real dash (minus sign), it will work perfectly fine.
 
  • Like
Likes MathematicalPhysicist and FactChecker
  • #12
Image Analyst said:
It's not a bug. And the order doesn't matter. The problem is you don't have a dash in there. It's some character that looks like a dash but isn't. When I paste in your code it shows the error message

Error using plot
Error in color/linetype argument.
Error in test1 (line 3)
plot(x,y,'k?','linew',2);See the question mark indicating it doesn't know what that character is? If you get rid of that "dash" and replace it with a real dash (minus sign), it will work perfectly fine.
Good catch! This is one of the frustrating things about copying and pasting text -- they can have characters and do other things you don't want. I like to paste into a programmer editor that I can control, like vim, just to be sure that the text is exactly what I wanted. I often have to replace things that I don't want in code. Then I copy the vim text and paste that into the target code.
 

Similar threads

Replies
8
Views
2K
Replies
5
Views
2K
Replies
1
Views
2K
Replies
1
Views
5K
Replies
1
Views
2K
Replies
5
Views
2K
Back
Top