ListLineIntegralConvolutionPlot[{array,image}]
generates a line integral convolution plot of image convolved with the vector field defined by an array of vector field values.
ListLineIntegralConvolutionPlot[array]
generates a line integral convolution plot of white noise convolved with the vector field defined by array.
ListLineIntegralConvolutionPlot[{{{{x1,y1},{vx1,vy1}},…},image}]
generates a line integral convolution plot of image convolved with the vector field defined by vectors {vxi,vyi} at specified points {xi,yi}.
ListLineIntegralConvolutionPlot[{{{x1,y1},{vx1,vy1}},…}]
generates a line integral convolution plot of white noise convolved with the vector field defined by {vxi,vyi}.
ListLineIntegralConvolutionPlot
ListLineIntegralConvolutionPlot[{array,image}]
generates a line integral convolution plot of image convolved with the vector field defined by an array of vector field values.
ListLineIntegralConvolutionPlot[array]
generates a line integral convolution plot of white noise convolved with the vector field defined by array.
ListLineIntegralConvolutionPlot[{{{{x1,y1},{vx1,vy1}},…},image}]
generates a line integral convolution plot of image convolved with the vector field defined by vectors {vxi,vyi} at specified points {xi,yi}.
ListLineIntegralConvolutionPlot[{{{x1,y1},{vx1,vy1}},…}]
generates a line integral convolution plot of white noise convolved with the vector field defined by {vxi,vyi}.
Details and Options
- LineIntegralConvolutionPlot creates a rasterized version of image, then does a line integral convolution of each pixel according to the field defined by interpolating the vector data given.
- ListLineIntegralConvolutionPlot has the same options as Graphics, with the following additions and changes: [List of all options]
-
AspectRatio 1 ratio of height to width BoxRatios Automatic effective 3D box ratios for simulated lighting ColorFunction Automatic how to color background densities ColorFunctionScaling True whether to scale arguments to ColorFunction DataRange Automatic the range of x and y values to assume for data EvaluationMonitor None expression to evaluate at every function evaluation LineIntegralConvolutionScale Automatic length of convolution along streamlines Frame True whether to draw a frame around the plot FrameTicks Automatic frame tick marks LightingAngle None effective angle for simulated lighting Method Automatic methods to use for the plot PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLegends None legends for the plot PlotRange {Full,Full} range of x, y values to include PlotRangePadding Automatic how much to pad the range of values PlotTheme $PlotTheme overall theme for the plot RasterSize Automatic the pixel width of the rasterized image WorkingPrecision MachinePrecision precision to use in internal computations - If image is not specified, or is not already rasterized, a raster is created with a size specified by the RasterSize option.
- With a setting other than LightingAngle->None, simulated lighting is used, with the height at each point being taken to be determined from the norm of the vector field.
- The arguments supplied to ColorFunction are x, y, vx, vy, Norm[{vx,vy}].
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio 1 ratio of height to width Axes False whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic BoxRatios Automatic effective 3D box ratios for simulated lighting ColorFunction Automatic how to color background densities ColorFunctionScaling True whether to scale arguments to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool DataRange Automatic the range of x and y values to assume for data Epilog {} primitives rendered after the main plot EvaluationMonitor None expression to evaluate at every function evaluation FormatType TraditionalForm the default format type for text Frame True whether to draw a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame tick marks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelStyle {} style specifications for labels LightingAngle None effective angle for simulated lighting LineIntegralConvolutionScale Automatic length of convolution along streamlines Method Automatic methods to use for the plot PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None an overall label for the plot PlotLegends None legends for the plot PlotRange {Full,Full} range of x, y values to include PlotRangeClipping False whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RasterSize Automatic the pixel width of the rasterized image RotateLabel True whether to rotate y labels on the frame Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks WorkingPrecision MachinePrecision precision to use in internal computations
List of all options
Examples
open all close allBasic Examples (2)
Plot a line integral convolution of a vector field interpolated from a specified set of vectors:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[data]Plot the line integral convolution from data specifying coordinates and vectors:
data = Table[{{x, y}, {y, x - x ^ 2}}, {x, -1.5, 1.5, 0.2}, {y, -2, 2, 0.2}];ListLineIntegralConvolutionPlot[data]Scope (10)
Sampling (6)
Plot a field image for a regular collection of vectors, and give a data range for the domain:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[data, DataRange -> {{-3, 3}, {-3, 3}}]Plot a field image for an irregular collection of vectors:
data = Table[{{x, y} = RandomReal[{-3, 3}, 2], {-1 - x ^ 2 + y, 1 + x - y ^ 2}}, {200}];ListLineIntegralConvolutionPlot[data]Convolve an image with a regular collection of vectors:
image = Image[255 {BoxMatrix[20, 100], BoxMatrix[30, 100], BoxMatrix[40, 100]}, "Byte", ColorSpace -> "RGB", Interleaving -> False]data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[{data, image
}, RasterSize -> 250, LineIntegralConvolutionScale -> 25]Use an image directly as input:
data = Table[{x, y}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[{data, [image]}]Convolve an image with an irregular collection of vectors:
data = Table[{{x, y} = RandomReal[{-3, 3}, 2], {-1 - x ^ 2 + y, 1 + x - y ^ 2}}, {200}];ListLineIntegralConvolutionPlot[{data, \!\(\*GraphicsBox[«3»]\)}]Use an image created from a sparse matrix:
s = Image[Normal[1 - SparseArray[{{i_, i_} -> 1, RandomInteger[{1, 99}, {1000, 2}] -> ConstantArray[1, 1000]}]]]data = Table[{y, x - x ^ 3}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[{data, s}, LineIntegralConvolutionScale -> 1]Presentation (4)
Plot a field image with overlaid streamlines:
data = Table[{{x, y} = RandomReal[{-3, 3}, 2], {-1 - x ^ 2 + y, 1 + x - y ^ 2}}, {200}];ListLineIntegralConvolutionPlot[data, StreamPoints -> 15, StreamStyle -> LightBlue, StreamColorFunction -> None]Plot with overlaid field vectors:
ListLineIntegralConvolutionPlot[data, VectorStyle -> Orange, VectorColorFunction -> None, VectorPoints -> 10]Plot all the specified vectors in the data:
data = Table[{{x, y} = RandomReal[{-3, 3}, 2], {-1 - x ^ 2 + y, 1 + x - y ^ 2}}, {200}];ListLineIntegralConvolutionPlot[data, VectorPoints -> All, VectorStyle -> LightBlue, VectorColorFunction -> None]data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];Table[ListLineIntegralConvolutionPlot[data, PlotLabel -> c, ColorFunction -> c], {c, {Hue, "Pastel"}}]Specify a color function that blends two colors by the
coordinate:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[data, ColorFunction -> Function[{x, y, vx, vy, n}, Blend[{Green, Red}, x]]]Options (75)
AspectRatio (4)
By default, ListLineIntegralConvolutionPlot uses the same width and height:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}]]Use a numerical value to specify the height-to-width ratio:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> 1 / GoldenRatio]AspectRatioAutomatic determines the ratio from the plot ranges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> Automatic]AspectRatioFull adjusts the height and width to tightly fit inside other constructs:
plot = ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> Full];
{Framed[Pane[plot, {75, 100}]], Framed[Pane[plot, {100, 100}]], Framed[Pane[plot, {100, 75}]]}Axes (3)
By default, ListLineIntegralConvolutionPlot uses a frame instead of axes:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}]]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True]Turn each axis on individually:
{ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> {True, False}], ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> {False, True}]}AxesLabel (3)
No axes labels are drawn by default:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True, AxesLabel -> y]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True, AxesLabel -> {x, y}]AxesOrigin (2)
The position of the axes is determined automatically:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True]Specify an explicit origin for the axes:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True, AxesOrigin -> {3, 4}]AxesStyle (4)
Change the style for the axes:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True, AxesStyle -> Red]Specify the style of each axis:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], Frame -> False, Axes -> True, AxesStyle -> {{Thick, Red}, {Thick, Blue}}]Use different styles for the ticks and the axes:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], LightingAngle -> 0, Frame -> False, Axes -> True, AxesStyle -> Red, TicksStyle -> Green]Use different styles for the labels and the axes:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], LightingAngle -> 0, Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> Red]Background (1)
ColorFunction (5)
Color the field magnitude using Hue:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], ColorFunction -> Hue]Use any named color gradient from ColorData:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], ColorFunction -> "Pastel"]Use ColorData for predefined color gradients:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], ColorFunction -> Function[{x, y, vx, vy, n}, ColorData["SolarColors"][x y]]]Specify a color function that blends two colors by the
coordinate:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], ColorFunction -> Function[{x, y, vx, vy, n}, Blend[{Green, Red}, x]]]Use ColorFunctionScaling->False to get unscaled values:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];ListLineIntegralConvolutionPlot[data, ColorFunctionScaling -> False, ColorFunction -> Function[{x, y, vx, vy, n}, ColorData[22][Round[n]]]]ColorFunctionScaling (4)
By default, scaled values are used:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], ColorFunction -> GrayLevel]Use ColorFunctionScaling->False to get unscaled values:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];ListLineIntegralConvolutionPlot[data, ColorFunctionScaling -> False, ColorFunction -> Function[{x, y, vx, vy, n}, ColorData[22][Round[n]]]]Use unscaled coordinates in the
direction and scaled coordinates in the
direction:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];ListLineIntegralConvolutionPlot[data, ColorFunctionScaling -> {False, True}, ColorFunction -> Function[{x, y, vx, vy, n}, Hue[x, y, 1]]]Explicitly specify the scaling for each color function argument:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];ListLineIntegralConvolutionPlot[data, ColorFunctionScaling -> {True, True, True, True, False}, ColorFunction -> Function[{x, y, vx, vy, n}, Hue[n, y, 1]]]DataRange (1)
By default, the data range is taken to be the index range of the data array:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];
Dimensions[data]ListLineIntegralConvolutionPlot[data]Specify the data range for the domain:
ListLineIntegralConvolutionPlot[data, DataRange -> {{-3, 3}, {-3, 3}}]EvaluationMonitor (1)
Frame (1)
FrameLabel (1)
FrameTicks (8)
Place frame tick marks and labels automatically:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], FrameTicks -> Automatic]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], FrameTicks -> None]Place frame ticks and labels on all the edges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], FrameTicks -> All]Place frame ticks on the right and top edges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], FrameTicks -> {{None, All}, {None, All}}]Place frame tick marks at the specified positions:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -π, π}, {y, -π, π}];ListLineIntegralConvolutionPlot[data, DataRange -> {{-π, π}, {-π, π}}, FrameTicks -> {{Table[k, {k, -π, π, π / 2}], None}, {Table[k, {k, -π, π, π / 4}], None}}]Draw frame ticks at the specified positions with the specific labels:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -π, π}, {y, -π, π}];ListLineIntegralConvolutionPlot[data, DataRange -> {{-π, π}, {-π, π}}, FrameTicks -> {{{-π, -180°}, {-π / 2, -90°}, {0, 0°}, {π / 2, 90°}, {π, 180°}}, None}]Specify the style of each frame tick:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -π, π}, {y, -π, π}];ListLineIntegralConvolutionPlot[data, DataRange -> {{-π, π}, {-π, π}}, FrameTicks -> {{{π / 2, 90°, {.4, .05}, Red}, {-π / 2, -90°, {.4, .05}, Thick}, {0, 0°, {.4, .05}, Directive[Red, Dashed]}}, None}]Specify overall frame ticks style, including frame tick labels, using FrameTicksStyle:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], FrameTicksStyle -> Directive[Orange, 12]]ImageSize (7)
Use named sizes such as Tiny, Small, Medium and Large:
{ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> Tiny], ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> Small]}Specify the width of the plot:
{ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> 150], ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> 1.5, ImageSize -> 150]}Specify the height of the plot:
{ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> {Automatic, 150}], ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> 2, ImageSize -> {Automatic, 150}]}Allow the width and height to be up to a certain size:
{ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> UpTo[200]], ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> 2, ImageSize -> UpTo[200]]}Specify the width and height for a graphic, padding with space if necessary:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> {200, 250}, Background -> StandardGray]Setting AspectRatioFull will fill the available space:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> Full, ImageSize -> {200, 250}, Background -> StandardGray]Use maximum sizes for the width and height:
{ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> {UpTo[150], UpTo[100]}], ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], AspectRatio -> 2, ImageSize -> {UpTo[150], UpTo[100]}]}Use ImageSizeFull to fill the available space in an object:
Framed[Pane[ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> Full, Background -> StandardGray], {200, 200}]]Specify the image size as a fraction of the available space:
Framed[Pane[ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -2, 2}, {y, -3, 3}], ImageSize -> {Scaled[0.5], Scaled[0.5]}, Background -> StandardGray], {200, 200}]]LineIntegralConvolutionScale (2)
An automatic scale is used by default:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], LineIntegralConvolutionScale -> Automatic]data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];Table[ListLineIntegralConvolutionPlot[data, PlotLabel -> s, LineIntegralConvolutionScale -> s], {s, {0.3, 1.0, 3}}]PerformanceGoal (2)
Generate a higher-quality plot:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], PerformanceGoal -> "Quality"]Emphasize performance, possibly at the cost of quality:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], PerformanceGoal -> "Speed"]PlotLegends (1)
Add a color bar legend for the convolution:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[data, PlotLegends -> Automatic]Place the legend below the plot:
ListLineIntegralConvolutionPlot[data, PlotLegends -> Placed[Automatic, Below]]Use BarLegend to modify the legend:
ListLineIntegralConvolutionPlot[data, PlotLegends -> BarLegend[Automatic, LegendFunction -> Frame]]PlotRange (7)
The full plot range is used by default:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], PlotRange -> Full]Specify an explicit limit for both
and
ranges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRange -> 2]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRange -> {{-1, 2}, Automatic}]Specify an explicit
minimum range:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRange -> {{0, Full}, Automatic}]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRange -> {Full, {0, 2}}]Specify an explicit
maximum range:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRange -> {Full, {Full, 5}}]ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRange -> {{-2, 1.5}, {-1, 2}}]PlotRangePadding (6)
Padding is computed automatically by default:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], PlotRangePadding -> Automatic]Specify no padding for all
,
, and
ranges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], PlotRangePadding -> None]Specify an explicit padding for all
,
, and
ranges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRangePadding -> 0.5]Add 10% padding to all
,
, and
ranges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRangePadding -> Scaled[0.1]]Specify different padding for
and
ranges:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRangePadding -> {1, 0.5}]Specify padding for the
range:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], DataRange -> {{-3, 3}, {-3, 3}}, PlotRangePadding -> {Automatic, 1.5}]PlotTheme (2)
Use a monochrome theme for the plot:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[data, PlotTheme -> "Monochrome"]Use a theme with minimal styling:
data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3, .2}, {y, -3, 3, .2}];ListLineIntegralConvolutionPlot[data, PlotTheme -> "Minimal"]RasterSize (2)
By default an automatic raster size is used:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], RasterSize -> Automatic]data = Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}];Table[ListLineIntegralConvolutionPlot[data, RasterSize -> r], {r, {100, 200, 300}}]Ticks (4)
Ticks are placed automatically in each plot:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True]Use TicksNone to not draw any tick marks:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True, Ticks -> None]Place tick marks at specific positions:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True, Ticks -> {{2, 4, 6}, {2, 4, 6}}]Draw tick marks at the specified positions with the specified labels:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True, Ticks -> {{{2, a}, {4, b}, {6, c}}, {{2, a}, {4, b}, {6, c}}}]TicksStyle (4)
Specify the overall tick style, including the tick labels:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True, TicksStyle -> Directive[Red, Bold]]Specify the tick style for each of the axes:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True, TicksStyle -> {Directive[Green, Bold], Directive[Bold, Red]}]Specify tick marks with scaled lengths:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], TicksStyle -> Red, Frame -> False, Axes -> True, Ticks -> {{{2, a, .1}, {4, b, .2}, {6, c, .3}}, {{2, a, .1}, {4, b, .2}, {6, c, .3}}}]Customize each tick with position, length, labeling and styling:
ListLineIntegralConvolutionPlot[Table[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}], Frame -> False, Axes -> True, Ticks -> {{{2, a, .1, Directive[White]}, {4, b, .2, Directive[Thick, Dashed, White]}, {6, c, .3, Directive[Thick, White]}}, {{2, a, .1, Directive[Red]}, {4, b, .2, Directive[Red, Dashed, Thick]}, {6, c, .3, Directive[Thick, Red]}}}]Applications (2)
Use a line integral convolution plot as a background for an interactive demo:
lic = ListLineIntegralConvolutionPlot[Table[{y, -Sin[x] - y / 2}, {x, -4, 4}, {y, -3, 3}], DataRange -> {{-4, 4}, {-3, 3}}]With[{lic = lic}, Manipulate[Module[{sol, x, t},
sol = First[NDSolve[{x''[t] + x'[t] / 2 + Sin[x[t]] == 0, Thread[{x[0], x'[0]} == point]}, x, {t, 0, 10}]];
Show[lic, ParametricPlot[Evaluate[{x[t], x'[t]} /. sol], {t, 0, 10}, PlotStyle -> Pink], PlotRange -> {{-4, 4}, {-3, 3}}]], {{point, {1, 1}}, Locator}]]Display characteristics of several different types of linear planar systems:
lmsp = {(| | |
| - | - |
| 1 | 0 |
| 0 | 2 |), (| | |
| - | - |
| 1 | 1 |
| 0 | 1 |), (| | |
| -- | - |
| 0 | 1 |
| -1 | 1 |), (| | |
| -- | - |
| 0 | 1 |
| -1 | 0 |), (| | |
| - | -- |
| 1 | 0 |
| 0 | -2 |)};
names = Map[Text, {"Nodal source", "Degenerate source", "Spiral source", "Center", "Saddle"}];
cases = Transpose[{lmsp, names}];TabView[ParallelTable[MatrixForm[First[m]] -> ListLineIntegralConvolutionPlot[Table[Evaluate[First[m].{x, y}], {x, -1, 1}, {y, -1, 1}], PlotLabel -> Last[m]], {m, cases}]]Properties & Relations (4)
Use LineIntegralConvolutionPlot to plot functions:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}]Other alternatives for visualizing vector field data:
data = Table[{y, -x}, {x, -3, 3, 0.2}, {y, -3, 3, 0.2}];Table[f[data, PlotLabel -> f], {f, {ListVectorPlot, ListVectorDensityPlot, ListStreamPlot, ListStreamDensityPlot}}]Other alternatives for visualizing vector field functions:
Table[f[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> f], {f, {VectorPlot, VectorDensityPlot, StreamPlot, StreamDensityPlot}}]Use ListVectorPlot3D and ListStreamPlot3D to visualize 3D vector field data:
data = Table[{z, -x, y}, {x, -1, 1, .1}, {y, -1, 1, .1}, {z, -1, 1, .1}];{ListVectorPlot3D[data], ListStreamPlot3D[data]}Related Guides
History
Introduced in 2008 (7.0) | Updated in 2012 (9.0) ▪ 2014 (10.0)
Text
Wolfram Research (2008), ListLineIntegralConvolutionPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ListLineIntegralConvolutionPlot.html (updated 2014).
CMS
Wolfram Language. 2008. "ListLineIntegralConvolutionPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/ListLineIntegralConvolutionPlot.html.
APA
Wolfram Language. (2008). ListLineIntegralConvolutionPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListLineIntegralConvolutionPlot.html
BibTeX
@misc{reference.wolfram_2026_listlineintegralconvolutionplot, author="Wolfram Research", title="{ListLineIntegralConvolutionPlot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/ListLineIntegralConvolutionPlot.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_listlineintegralconvolutionplot, organization={Wolfram Research}, title={ListLineIntegralConvolutionPlot}, year={2014}, url={https://reference.wolfram.com/language/ref/ListLineIntegralConvolutionPlot.html}, note=[Accessed: 13-June-2026]}