plotly.figure_factory
.create_quiver¶
-
plotly.figure_factory.
create_quiver
(x, y, u, v, scale=0.1, arrow_scale=0.3, angle=0.3490658503988659, scaleratio=None, **kwargs)¶ Returns data for a quiver plot.
- Parameters
x ((list|ndarray)) – x coordinates of the arrow locations
y ((list|ndarray)) – y coordinates of the arrow locations
u ((list|ndarray)) – x components of the arrow vectors
v ((list|ndarray)) – y components of the arrow vectors
in [0,1]) scale ((float) – scales size of the arrows(ideally to avoid overlap). Default = .1
in [0,1]) arrow_scale ((float) – value multiplied to length of barb to get length of arrowhead. Default = .3
in radians) angle ((angle) – angle of arrowhead. Default = pi/9
float) scaleratio ((positive) – the ratio between the scale of the y-axis and the scale of the x-axis (scale_y / scale_x). Default = None, the scale ratio is not fixed.
kwargs – kwargs passed through plotly.graph_objects.Scatter for more information on valid kwargs call help(plotly.graph_objects.Scatter)
- Rtype (dict)
returns a representation of quiver figure.
Example 1: Trivial Quiver
>>> from plotly.figure_factory import create_quiver >>> import math
>>> # 1 Arrow from (0,0) to (1,1) >>> fig = create_quiver(x=[0], y=[0], u=[1], v=[1], scale=1) >>> fig.show()
Example 2: Quiver plot using meshgrid
>>> from plotly.figure_factory import create_quiver
>>> import numpy as np >>> import math
>>> # Add data >>> x,y = np.meshgrid(np.arange(0, 2, .2), np.arange(0, 2, .2)) >>> u = np.cos(x)*y >>> v = np.sin(x)*y
>>> #Create quiver >>> fig = create_quiver(x, y, u, v) >>> fig.show()
Example 3: Styling the quiver plot
>>> from plotly.figure_factory import create_quiver >>> import numpy as np >>> import math
>>> # Add data >>> x, y = np.meshgrid(np.arange(-np.pi, math.pi, .5), ... np.arange(-math.pi, math.pi, .5)) >>> u = np.cos(x)*y >>> v = np.sin(x)*y
>>> # Create quiver >>> fig = create_quiver(x, y, u, v, scale=.2, arrow_scale=.3, angle=math.pi/6, ... name='Wind Velocity', line=dict(width=1))
>>> # Add title to layout >>> fig.update_layout(title='Quiver Plot') >>> fig.show()
Example 4: Forcing a fix scale ratio to maintain the arrow length
>>> from plotly.figure_factory import create_quiver >>> import numpy as np
>>> # Add data >>> x,y = np.meshgrid(np.arange(0.5, 3.5, .5), np.arange(0.5, 4.5, .5)) >>> u = x >>> v = y >>> angle = np.arctan(v / u) >>> norm = 0.25 >>> u = norm * np.cos(angle) >>> v = norm * np.sin(angle)
>>> # Create quiver with a fix scale ratio >>> fig = create_quiver(x, y, u, v, scale = 1, scaleratio = 0.5) >>> fig.show()