Spaces:
Running
Running
from __future__ import annotations | |
from abc import ABC, abstractmethod | |
from typing import TYPE_CHECKING, Any | |
import numpy as np | |
if TYPE_CHECKING: | |
import io | |
from numpy.typing import ArrayLike | |
from contourpy._contourpy import CoordinateArray, FillReturn, FillType, LineReturn, LineType | |
class Renderer(ABC): | |
"""Abstract base class for renderers, defining the interface that they must implement.""" | |
def _grid_as_2d(self, x: ArrayLike, y: ArrayLike) -> tuple[CoordinateArray, CoordinateArray]: | |
x = np.asarray(x) | |
y = np.asarray(y) | |
if x.ndim == 1: | |
x, y = np.meshgrid(x, y) | |
return x, y | |
x = np.asarray(x) | |
y = np.asarray(y) | |
if x.ndim == 1: | |
x, y = np.meshgrid(x, y) | |
return x, y | |
def filled( | |
self, | |
filled: FillReturn, | |
fill_type: FillType | str, | |
ax: Any = 0, | |
color: str = "C0", | |
alpha: float = 0.7, | |
) -> None: | |
pass | |
def grid( | |
self, | |
x: ArrayLike, | |
y: ArrayLike, | |
ax: Any = 0, | |
color: str = "black", | |
alpha: float = 0.1, | |
point_color: str | None = None, | |
quad_as_tri_alpha: float = 0, | |
) -> None: | |
pass | |
def lines( | |
self, | |
lines: LineReturn, | |
line_type: LineType | str, | |
ax: Any = 0, | |
color: str = "C0", | |
alpha: float = 1.0, | |
linewidth: float = 1, | |
) -> None: | |
pass | |
def mask( | |
self, | |
x: ArrayLike, | |
y: ArrayLike, | |
z: ArrayLike | np.ma.MaskedArray[Any, Any], | |
ax: Any = 0, | |
color: str = "black", | |
) -> None: | |
pass | |
def save(self, filename: str, transparent: bool = False) -> None: | |
pass | |
def save_to_buffer(self) -> io.BytesIO: | |
pass | |
def show(self) -> None: | |
pass | |
def title(self, title: str, ax: Any = 0, color: str | None = None) -> None: | |
pass | |
def z_values( | |
self, | |
x: ArrayLike, | |
y: ArrayLike, | |
z: ArrayLike, | |
ax: Any = 0, | |
color: str = "green", | |
fmt: str = ".1f", | |
quad_as_tri: bool = False, | |
) -> None: | |
pass | |