# XY Documentation > XY is a high-performance plotting library for Python and Reflex. Use this index to find agent-readable Markdown docs, or see [llms-full.txt](https://reflex.dev/docs/xy/llms-full.txt) for the complete docs in one file. ## Docs ### Overview - [Fast, Interactive Python Charting Library](https://reflex.dev/docs/xy/index.md): XY is a fast Python charting library for interactive data visualization. Plot millions of points with pan, zoom, and hover. Style charts with CSS or Tailwind. - [Installation](https://reflex.dev/docs/xy/overview/installation.md): Install XY, understand its bundled runtime, and choose optional integrations. - [Your First Chart](https://reflex.dev/docs/xy/overview/first-chart.md): Create an interactive XY chart in a Python script or notebook, then choose where to go next. - [Benchmarks](https://reflex.dev/docs/xy/overview/benchmarks.md): Inspect XY's live interactive benchmark from 10,000 to 100 million points, including its output contract, memory use, and caveats. ### Core Concepts - [Composition Model](https://reflex.dev/docs/xy/core-concepts/index.md): Understand how XY containers, children, shared props, and chart methods fit together. - [Data and Columns](https://reflex.dev/docs/xy/core-concepts/data.md): Bind arrays, mappings, DataFrames, Arrow columns, dates, and categories. - [Axes and Scales](https://reflex.dev/docs/xy/core-concepts/axes-and-scales.md): Configure domains, scale types, ticks, formatting, and named axes. - [Interactions and Selections](https://reflex.dev/docs/xy/core-concepts/interactions.md): Configure hover, click, selection, brushing, crosshairs, callbacks, and linked views. - [Large Data and Performance](https://reflex.dev/docs/xy/core-concepts/large-data-and-performance.md): Understand direct rendering, M4 decimation, density aggregation, drilldown, and memory. - [Configuration](https://reflex.dev/docs/xy/core-concepts/configuration.md): Configure chart-local defaults, interactions, themes, and output behavior. ### Styling - [Styling Overview](https://reflex.dev/docs/xy/styling/index.md): Choose between CSS/Tailwind chrome hooks, mark styles, theme tokens, and export CSS. - [Examples](https://reflex.dev/docs/xy/styling/examples.md): Copy polished chart patterns and explore live palette variations built with XY. - [Customize Each Part](https://reflex.dev/docs/xy/styling/customize.md): Style marks, axes, color scales, legends, tooltips, annotations, and interaction chrome with the right XY API. - [Chrome Slots](https://reflex.dev/docs/xy/styling/chrome-slots.md): Target stable chart DOM slots with CSS, Tailwind, classes, and inline styles. - [Animations and Data Transitions](https://reflex.dev/docs/xy/styling/animations.md): Animate entrances, keyed replacements, reorders, exits, and streaming appends with reduced-motion and deterministic-export control. - [Themes and Export](https://reflex.dev/docs/xy/styling/themes-and-tokens.md): Build reusable chart themes and keep colors, fonts, and chrome predictable across HTML, SVG, and PNG output. - [Capability Matrix](https://reflex.dev/docs/xy/styling/capabilities.md): What XY can be styled and extended with, per renderer, generated from the capability registry. - [Advanced Styling Gallery](https://reflex.dev/docs/xy/styling/gallery.md): Inspect advanced XY styling paths for scalar fields, uncertainty, explicit geometry, facets, reduction badges, and custom chrome. ### Chart Gallery - [Chart Gallery](https://reflex.dev/docs/xy/overview/gallery.md): Browse every chart type and visual pattern available in XY. - [Line Chart in Python](https://reflex.dev/docs/xy/charts/line-chart.md): Create interactive line charts in Python with xy. Plot smooth curves, multiple series, and millions of points with real-time pan and zoom — no lag. - [Area Charts in Python](https://reflex.dev/docs/xy/charts/area-chart.md): Fill trends to a baseline with area charts, and show piecewise-constant states with step and stairs charts in Python using xy. - [Scatter Plot in Python](https://reflex.dev/docs/xy/charts/scatter.md): Create interactive scatter plots in Python with xy. Explore relationships, clusters, and outliers across millions of points with pan, zoom, and hover. - [Polar Charts in Python](https://reflex.dev/docs/xy/charts/polar-chart.md): Create polar charts and polar plots in Python with xy. Configure sectors, categorical angles, holes, log radii, and pyplot polar projections. - [Radar Charts in Python](https://reflex.dev/docs/xy/charts/radar-chart.md): Create filled or outlined radar and spider charts in Python with xy. Compare several measurements across a shared set of categories. - [Radial Bar Charts in Python](https://reflex.dev/docs/xy/charts/radial-bar-chart.md): Create radial bar charts in Python with xy. Build radial bar plots, progress rings, gauge charts, and semicircular capacity blocks. - [Pie and Donut Charts in Python](https://reflex.dev/docs/xy/charts/pie-chart.md): Create pie charts and donut charts in Python with xy. Build pie plots, progress rings, and gauge blocks with values, percentages, and custom colors. - [Wind Rose Charts in Python](https://reflex.dev/docs/xy/charts/wind-rose.md): Create wind rose charts in Python with xy. Bin compass bearings into sectors and stack directional frequencies by speed band. - [Bar Chart in Python](https://reflex.dev/docs/xy/charts/bar-chart.md): Create interactive bar and column charts in Python with xy. Compare categories with grouped, stacked, normalized, horizontal, and vertical bars. - [Histogram in Python](https://reflex.dev/docs/xy/charts/histogram.md): Histogram Python charts with xy — bin large datasets into a fast, interactive frequency distribution that pans, zooms, and refines smoothly at millions of values. - [Box Plot in Python](https://reflex.dev/docs/xy/charts/box-plot.md): Boxplot Python charts with xy. Compare distributions across groups with quartiles, whiskers, and outliers in a fast, interactive box and whisker plot. - [Violin Plot in Python](https://reflex.dev/docs/xy/charts/violin-plot.md): Violin plot Python charts with xy — compare full distribution shapes across groups with mirrored density curves in a fast, interactive plot that pans and zooms. - [ECDF Plot in Python](https://reflex.dev/docs/xy/charts/ecdf.md): ECDF Python charts with xy — plot an empirical cumulative distribution function as a fast, interactive step curve that pans, zooms, and reads percentiles directly. - [Heatmap in Python](https://reflex.dev/docs/xy/charts/heatmap.md): Heatmap python made easy with xy. Render a matrix as an interactive colored grid, pick a colormap, set the value domain, and add a colorbar scale. - [Hexbin Plot in Python](https://reflex.dev/docs/xy/charts/hexbin.md): Hexbin python made simple with xy. Bin large point clouds into a hexagonal density grid, count or reduce a value per cell, and color by a colormap. - [Contour Plot in Python](https://reflex.dev/docs/xy/charts/contour-plot.md): Contour plot python made easy with xy. Draw filled or line iso-value contours over a 2D field, set levels and a colormap, and pan and zoom smoothly. - [Error Bar and Band Charts in Python](https://reflex.dev/docs/xy/charts/uncertainty.md): Show uncertainty in Python with xy — draw error bars for point estimates and shaded error bands for confidence and forecast intervals. - [Stem Plot in Python](https://reflex.dev/docs/xy/charts/stem-plot.md): Create a stem plot in Python with xy. Draw discrete values and impulses anchored to a baseline, interactive out of the box with pan, zoom, and hover. - [Line Segment Chart in Python](https://reflex.dev/docs/xy/charts/segments.md): Draw line segments in Python with xy. Plot independent start-to-end segments for transitions, ranges, and arbitrary geometry, interactive by default. - [Sankey Diagram in Python](https://reflex.dev/docs/xy/charts/sankey.md): Create interactive Sankey diagrams in Python with xy. Show weighted flows between stages with automatic layout, colored nodes, and gradient ribbons. ### Components - [Chart Components in Python](https://reflex.dev/docs/xy/components/index.md): Compose marks, axes, annotations, legends, tooltips, colorbars, facets, triangle meshes, and interaction controls. - [Marks in Python](https://reflex.dev/docs/xy/components/marks.md): Bind data to XY marks, channels, axes, styles, and layers. - [Axes in Python](https://reflex.dev/docs/xy/components/axes.md): Configure XY scale types, domains, ticks, labels, and named axes. - [Legends in Python](https://reflex.dev/docs/xy/components/legends.md): Label named series and configure built-in or framework-rendered legends. - [Tooltips in Python](https://reflex.dev/docs/xy/components/tooltips.md): Configure hover fields, title templates, numeric formats, and replacements. - [Colorbars in Python](https://reflex.dev/docs/xy/components/colorbars.md): Author, orient, and style built-in continuous-scale colorbars or replace them in a custom adapter. - [Modebars & Controls in Python](https://reflex.dev/docs/xy/components/modebars-and-interaction-controls.md): Configure XY's toolbar, gestures, selection, exports, and linked viewports. - [Annotations in Python](https://reflex.dev/docs/xy/components/annotations.md): Add rules, bands, labels, markers, arrows, thresholds, and callouts. - [Triangle Mesh in Python](https://reflex.dev/docs/xy/components/triangle-mesh.md): Build a triangle mesh in Python with xy. Plot irregular surfaces from explicit per-triangle vertices with a color channel, interactive by default. - [Facet Charts and Layered Marks in Python](https://reflex.dev/docs/xy/components/facets-and-layers.md): Build faceted small multiples and layer different marks in one chart in Python with xy, with shared axes and per-panel interactivity. ### Integrations - [Integrations](https://reflex.dev/docs/xy/integrations/index.md): Use XY in Reflex applications, notebooks, and Matplotlib-shaped workflows. - [Reflex](https://reflex.dev/docs/xy/integrations/reflex.md): Render fixed and state-backed XY charts as first-class Reflex components. - [Notebooks](https://reflex.dev/docs/xy/integrations/notebooks.md): Display interactive XY charts in Jupyter, VS Code, Colab, and Marimo. - [Matplotlib (xy.pyplot)](https://reflex.dev/docs/xy/integrations/matplotlib.md): Migrate common Matplotlib workflows through XY's pyplot compatibility layer. ### Guides - [DataFrames and Real Data](https://reflex.dev/docs/xy/guides/dataframes-and-real-data.md): Clean, aggregate, chart, and export a pandas DataFrame with public XY APIs. - [Guides](https://reflex.dev/docs/xy/guides/index.md): Display, export, stream, link, deploy, and troubleshoot XY charts. - [Display and Export](https://reflex.dev/docs/xy/guides/display-and-export.md): Display live charts and export PNG, JPEG, WebP, SVG, PDF, HTML, or image batches. - [Real-Time and Streaming Data](https://reflex.dev/docs/xy/guides/real-time-and-streaming-data.md): Append points, update live widgets, inspect exact rows, and understand snapshots. - [Dashboards and Linked Views](https://reflex.dev/docs/xy/guides/dashboards-and-linked-views.md): Coordinate chart ranges, application filters, and many-chart browser resources. - [Serving, CSP, and Offline Use](https://reflex.dev/docs/xy/guides/serving-csp-and-offline-use.md): Serve bundled XY assets under CSP and operate without a CDN or network access. - [Deployment Recipes](https://reflex.dev/docs/xy/guides/deployment-recipes.md): Ship standalone HTML and images, prepare offline wheels, and understand the CSP and Reflex boundaries. - [Troubleshooting](https://reflex.dev/docs/xy/guides/troubleshooting.md): Diagnose installation, display, export, validation, streaming, and Reflex failures. - [Getting Help](https://reflex.dev/docs/xy/guides/getting-help.md): Report XY bugs, request features, disclose vulnerabilities, and provide useful environment details. ### Advanced - [XY Architecture](https://reflex.dev/docs/xy/advanced/index.md): See how XY keeps exact data in Python while native compute and screen-bounded rendering keep charts responsive. - [Custom Marks](https://reflex.dev/docs/xy/advanced/custom-marks.md): Add a chart kind XY does not ship by composing its built-in marks, without forking the renderer. - [Choosing a Runtime and Deployment Mode](https://reflex.dev/docs/xy/advanced/runtime-and-deployment.md): XY applications run on Reflex. Choose a Reflex data tier for apps, and a notebook, HTML file, or static image for everything that is not an app. ### API Reference - [API Reference](https://reflex.dev/docs/xy/api-reference/index.md): Find XY chart factories, components, methods, callbacks, types, and status. - [Chart Factories](https://reflex.dev/docs/xy/api-reference/chart-factories.md): Reference XY chart containers, shared props, and facet construction. - [Marks and Components](https://reflex.dev/docs/xy/api-reference/marks-and-components.md): Generated signatures for XY marks, axes, annotations, chrome, themes, and behavior. - [Figure Methods](https://reflex.dev/docs/xy/api-reference/figure-methods.md): Reference display, export, streaming, readout, and advanced figure access. - [Events and Callbacks](https://reflex.dev/docs/xy/api-reference/events-and-callbacks.md): Reference core Chart callbacks, Selection payloads, browser events, and adapter names. - [Public Types](https://reflex.dev/docs/xy/api-reference/public-types.md): Inventory XY's root-exported declarative, output, selection, and column types. - [Limitations and Alpha Status](https://reflex.dev/docs/xy/api-reference/limitations-and-alpha-status.md): Understand XY's supported contracts, experimental surfaces, and known limits. - [Changelog](https://reflex.dev/docs/xy/api-reference/changelog.md): Review migration notes and notable changes in the XY alpha series. - [Contributing](https://reflex.dev/docs/xy/api-reference/contributing.md): Set up XY development, run the right gates, and prepare a focused change.