plot_spin_texture_arrows¶
- FermiSurface.plot_spin_texture_arrows(spin_texture_contour_data: dict, arrow_color: str | list[str] | None = None, scale: float | None = None, scale_units: str = 'inches', units: str = 'inches', angles: str = 'uv', quiver_kwargs: dict | None = None)[source]¶
Plot spin texture as arrows (vectors) on Fermi surface contours.
This method visualizes the spin texture by drawing arrows that represent the in-plane spin components (sx, sy) at points along the Fermi surface contours. The arrow direction indicates the spin orientation and can be colored by various spin projections.
- Parameters:
spin_texture_contour_data (dict) – Dictionary containing spin texture contour data with points, sx, sy, sz, and scalars.
arrow_color (str, list of str, or None, optional) – Color(s) for the arrows. If str, all arrows use same color. If list, different colors for each band. If None, colors based on scalars, by default None.
scale (float or None, optional) – Scale factor for arrow length. If None, matplotlib auto-scales, by default None.
scale_units (str, optional) – Units for the scale parameter, by default “inches”.
units (str, optional) – Units for arrow dimensions, by default “inches”.
angles (str, optional) – How to interpret arrow angles (‘uv’ for x,y components), by default “uv”.
cmap (str, optional) – Colormap name for scalar coloring, by default “plasma”.
norm (matplotlib.colors.Normalize, optional) – Normalization instance for color mapping, by default None.
quiver_kwargs (dict, optional) – Additional kwargs for matplotlib quiver function, by default None.
- Returns:
None – This method adds quiver plots to the axes but returns None.
Notes
The arrows represent the in-plane spin components (sx, sy) while the color can represent any spin projection specified during contour generation.