Files
fn_registry/python/functions/datascience/plot_kde_2d.md
T
egutierrez dabc945eda feat: extraccion masiva footprint_aurgi (41 funcs + 4 types + stack Docker geo)
Extrae al registry funciones del proyecto interno footprint_aurgi:
- core (6): slugify_ascii, normalize_for_join, cp_provincia_es, infer_provincia_from_cp, safe_read_csv_fallback, csv_to_parquet_duckdb
- geo puras (7): haversine_km, point_in_ring, point_in_polygon, point_in_polygons_bbox, polygon_bbox, extent_with_padding, distance_bucket
- geo I/O (4): load_geojson_polygons, load_boundary_gdf, add_basemap_osm, add_basemap_with_timeout
- valhalla client (4): valhalla_route, valhalla_isochrone, valhalla_isochrones_async, valhalla_matrix_1_to_n
- datascience stats (7): trimmed_mean, geometric_mean, detect_distribution_type, best_central_tendency, summary_stats, kde_density_levels, alpha_shape_concave_hull
- datascience fuzzy (3): fuzzy_merge_adaptive (rapidfuzz), words_to_dataset, remove_words_from_column
- datascience viz (2): plot_kde_2d, plot_heatmap_log
- infra (4): compress_pdf_ghostscript, render_table_page_pdfpages, add_header_logo, osm2pgsql_ingest
- pipelines (4): setup_geo_stack_docker, compute_centers_reachability, generate_isochrones_by_zone, count_points_per_zone
- types geo (4): LonLat, BBox, IsochroneRequest, Centro

Incluye:
- apps/footprint_geo_stack/ (PostGIS + Martin + Valhalla via docker-compose)
- 131/132 tests pasan (1 skip esperado: osm2pgsql en PATH)
- Issue tracker dev/issues/0052-footprint-aurgi-extraction.md
- Atribucion uniforme: source_repo internal:footprint_aurgi, source_license internal-aurgi
- Build con 9 agentes en paralelo (8 wave 1 + 1 wave 2 pipelines)

Tambien commitea trabajo previo no commiteado: aggregate_extraction_results, chunk_with_overlap, clean_pdf_text, merge_entity_aliases, extract_graph_gliner2, extract_relations_mrebel, extract_triples_spacy_es, gliner2/mrebel/marianmt/rebel/spacy_es load_model, parse_rebel_output, translate_es_to_en, issue 0050/0051.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 23:35:22 +02:00

2.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path, source_repo, source_license, source_file
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path source_repo source_license source_file
plot_kde_2d function py datascience 1.0.0 impure def plot_kde_2d(ax: Axes, xs: list[float] | np.ndarray, ys: list[float] | np.ndarray, cmap: str = 'magma', alpha: float = 0.35, thresh: float = 0.02, levels: int = 30, bw_adjust: float = 0.6) -> None Dibuja un KDE 2D como contornos rellenos sobre un Axes de matplotlib usando seaborn.kdeplot. Si los arrays están vacíos retorna sin pintar.
visualization
kde
density
seaborn
matplotlib
datascience
false error_go_core
numpy
seaborn
matplotlib
name desc
ax matplotlib Axes sobre el que se dibuja la densidad.
name desc
xs Coordenadas X de los puntos (longitud o x proyectada).
name desc
ys Coordenadas Y de los puntos (latitud o y proyectada).
name desc
cmap Nombre del colormap de matplotlib para el relleno de densidad. Default 'magma'.
name desc
alpha Opacidad del overlay de densidad (0-1). Default 0.35.
name desc
thresh Umbral de densidad por debajo del cual no se dibujan contornos (0-1). Default 0.02.
name desc
levels Número de niveles de contorno. Default 30.
name desc
bw_adjust Factor de ajuste del ancho de banda del kernel. Valores < 1 producen estimaciones más detalladas. Default 0.6.
None. Modifica el Axes in-place añadiendo los contornos de densidad. true
50 puntos aleatorios no lanza excepción
arrays vacíos retorna sin error
python/functions/datascience/tests/test_plot_kde_2d.py python/functions/datascience/plot_kde_2d.py internal:footprint_aurgi internal-aurgi ponderacion_isochronas/src/recomendador_centros.py:275

Ejemplo

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
from datascience.plot_kde_2d import plot_kde_2d

rng = np.random.default_rng(42)
xs = rng.normal(0, 1, 200)
ys = rng.normal(0, 1, 200)

fig, ax = plt.subplots()
plot_kde_2d(ax, xs, ys, cmap="viridis", alpha=0.5)
fig.savefig("kde.png")

Notas

Requiere seaborn y numpy. El parámetro fill=True se pasa a seaborn.kdeplot para renderizar contornos rellenos (disponible desde seaborn 0.11). Arrays vacíos se detectan con np.asarray(xs).size == 0 antes de llamar a seaborn para evitar errores internos.