Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Change length of legend line sample?

Subject: Change length of legend line sample?

From: drgz

Date: 12 Mar, 2010 09:54:05

Message: 1 of 5

Is there any way in MATLAB to reduce the length of the line sample, as it is with i.e. Gnuplot (set key samplen 'sample length')?

When I search in the product help I find examples for changing almost everything else, but can't find anything about this.

Subject: Change length of legend line sample?

From: Walter Roberson

Date: 12 Mar, 2010 10:06:57

Message: 2 of 5

drgz wrote:
> Is there any way in MATLAB to reduce the length of the line sample, as
> it is with i.e. Gnuplot (set key samplen 'sample length')?
>
> When I search in the product help I find examples for changing almost
> everything else, but can't find anything about this.

Yes, it is _possible_ to change it, but there probably is no special
control for the length (I could figure out if there is, but it's 4 am
and I have to sleep.)

Legends in matlab are implemented by adding a second axis to the figure.
The lines and text are then placed within that axis. Find that second
axis and you can find its child line objects, and you can then change
their XData properties to change the length and positions of the lines.
Or more simply, make the axis smaller by changing its Position
properties, and then set the XLim property of the axis so that the
left-hand side of the lines are cut off. Saves you altering the
individual lines, and if you were wanting the lines shorter you were
probably wanting to change the axis Position anyhow (either because you
wanted a smaller legend box or because you wanted longer titles and it
would be a nuisance to also change the Position properties of all of the
text() objects to match a shorter line length...)

Subject: Change length of legend line sample?

From: Sadik

Date: 12 Mar, 2010 12:03:05

Message: 3 of 5

By the way, I am using Matlab 7, so you had better check if it is really the second element of linesInPlot, that is if the handle is given by linesInPlot(2).


"drgz " <syrehue@hotmail.com> wrote in message <hnd2vt$6r$1@fred.mathworks.com>...
> Is there any way in MATLAB to reduce the length of the line sample, as it is with i.e. Gnuplot (set key samplen 'sample length')?
>
> When I search in the product help I find examples for changing almost everything else, but can't find anything about this.

Subject: Change length of legend line sample?

From: Sadik

Date: 12 Mar, 2010 12:09:05

Message: 4 of 5

I am sorry, it seems that my message did not show up for some reason. I am writing again:

An example:

plot(1:10)
legend('a')
linesInPlot = findobj('type','line'); % linesInPlot(2) is the handle to that line
get(linesInPlot(2),'XData') % returns 0.1231 0.7385
set(linesInPlot(2),'XData',[0.1231 0.4]) % so that new length < 0.5*previous

Best.




"Sadik " <sadik.hava@gmail.com> wrote in message <hndahp$3ij$1@fred.mathworks.com>...
> By the way, I am using Matlab 7, so you had better check if it is really the second element of linesInPlot, that is if the handle is given by linesInPlot(2).
>
>
> "drgz " <syrehue@hotmail.com> wrote in message <hnd2vt$6r$1@fred.mathworks.com>...
> > Is there any way in MATLAB to reduce the length of the line sample, as it is with i.e. Gnuplot (set key samplen 'sample length')?
> >
> > When I search in the product help I find examples for changing almost everything else, but can't find anything about this.

Subject: Change length of legend line sample?

From: drgz

Date: 12 Mar, 2010 17:27:05

Message: 5 of 5

"drgz " <syrehue@hotmail.com> wrote in message <hnd2vt$6r$1@fred.mathworks.com>...
> Is there any way in MATLAB to reduce the length of the line sample, as it is with i.e. Gnuplot (set key samplen 'sample length')?
>
> When I search in the product help I find examples for changing almost everything else, but can't find anything about this.

Thanks a lot to both of you! Hopefully there will an easier way of doing this in the future ;)

Greets!

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us