View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.5 | 15 ratings Rate this file 75 Downloads (last 30 days) File Size: 3.08 KB File ID: #3225 Version: 1.1
image thumbnail



Bertrand Dano (view profile)


01 Apr 2003 (Updated )

Creates a color quiver plot with arrows colors according to the magnitude of the vector.

| Watch this File

File Information

This is a modified version of the function quiver [from C.M. Thompson] to plot velocity vectors as arrows with components (u,v) at the points (x,y) with the color corresponding to the magnitude of the vector and using the current colormap.

Tip: for best results, add set(gcf, 'InvertHardCopy', 'off') after the function to keep the black background on the hardcopy. See attached examples.


This file inspired Navier Stokes Solver, Quiverwcolorbar, Quiverc2, Quiverc2wcmap, Quivermc, and Quiver Magnitude Depending Color In 2 D And 3 D.

MATLAB release MATLAB 5.3 (R11)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (22)
18 Jan 2017 yong bao

Great job

06 Nov 2016 nawal eldrogi


Comment only
16 Nov 2015 Marie Escouflaire

11 Jun 2015 Zhijie Ma

25 Apr 2014 Silas

Silas (view profile)

This is just great thanks!

22 Jan 2014 IceQueen

This is awesome. However i tried to look into it to get a '3D' version, like quiver3 as Joe posted june 2013. Does it exist?

Comment only
11 Jun 2013 Joe

Joe (view profile)

Hi Dano, this is a great code! Is there a variation of this code of this using 3D data (similar to quiver3)? Thanks

Comment only
26 Mar 2012 Tianjin University

I have this error when I run the codes, too.

23 Mar 2011 Tiago Leal

I already found the problem. My code had colormap(gray(2)) before the plot.

Comment only
23 Mar 2011 Tiago Leal

??? Attempted to access CC(5,1); index out of bounds because size(CC)=[2,3].

Error in ==> quiverc at 134
c1= CC(ii,1); c2= CC(ii,2); c3= CC(ii,3);

I have this error when I run the codes. C(x,1) x is alwyas different and bigger than 2. Anyone can help me??

Comment only
22 Apr 2009 JH

JH (view profile)

good job, but one comment: when I use h=quiverc(x,y,U,V,S), it seems the code can not return h? In other words, quiverc(x,y,U,V,S) works, but h=quiverc(x,y,U,V,S) does not work.

Comment only
21 Mar 2009 Vinesh Rajpaul

Vinesh Rajpaul (view profile)

Great file, thanks! But -- is there any way to use quiverc.m to create a colour quiver plot, but with all arrows plotted with same lengths? I.e. magnitude of vectors to be indicated solely by color and not length. It's redundant to indicate magnitude both by length and color; moreover, some vectors are often so small (relative to others in the field) that they are "invisible", in which case the colormap is useless anyway. Thanks.

Comment only
12 Mar 2008 Burak eral

Hi Bertrand;

I am using your cool code quiverc for plotting velocity fields that evolve over time… In your code you normalize colormaps so that red in colorbar refers to max velocity with in frame… I am trying have a global colormap where I insert max value velocity value within my frames so red refers to this value at all times…

I tried to change max(vr(:)) in code below with my global max value but it does not work…

ax = newplot;
next = lower(get(ax,'NextPlot'));
hold_state = ishold;

Do you have an idea how I can go around this ?

Thanks in advance

30 Aug 2007 Alison Rogers

Thanks! This is very useful.

06 Feb 2007 David Kolin

Excellent, except that the color mapping is incorrect if the current colormap is longer than 64. Changing the two int8 calls in quiverc to int16 fixes this problem.

16 Jul 2006 Ching-Fang Lee

It's a very useful tool for ploting! Thanks!

27 Apr 2006 tuna kaskati

31 Jan 2006 Gavita Regunath

Brilliant and extremely useful! Thanks!

21 Jul 2005 Colin Ned

great job, save me much time to write code

08 Dec 2004 Kwijibo Lefever

Not as fast as quiver for large vector/velocity field. But fine otherwise.

01 Sep 2004 Peter Slovinsky

I was working with quiver plots to show current velocity and direction from a moving vessel. The quiverc is perfect for creating a figure that is easy to qualitativy interpret.

06 May 2004 Klaas Hartmann

I find the output of quiverc easier to interpret than that of quiver. My only qualm is that it runs a bit slow with the data I am plotting -- I wan't to show a sequence of quiver plots. Also it doesn't seem to handle NaNs in the data automatically (just replace them with 0s)

08 Apr 2003

Mislabeled the submission name

26 Nov 2008 1.1

Wrong title on the page

Contact us