{"spec_id":"surface-basic","library":"seaborn","language":"python","code":"\"\"\" anyplot.ai\nsurface-basic: Basic 3D Surface Plot\nLibrary: seaborn 0.13.2 | Python 3.13.13\nQuality: 85/100 | Created: 2026-05-05\n\"\"\"\n\nimport os\nimport sys\n\n\nsys.path.insert(0, os.path.dirname(os.path.abspath(__file__)) + \"/../../../../.venv/lib/python3.13/site-packages\")\n\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n\n# Theme tokens\nTHEME = os.getenv(\"ANYPLOT_THEME\", \"light\")\nPAGE_BG = \"#FAF8F1\" if THEME == \"light\" else \"#1A1A17\"\nINK = \"#1A1A17\" if THEME == \"light\" else \"#F0EFE8\"\nINK_SOFT = \"#4A4A44\" if THEME == \"light\" else \"#B8B7B0\"\n\n# Data\nnp.random.seed(42)\nx = np.linspace(-5, 5, 40)\ny = np.linspace(-5, 5, 40)\nX, Y = np.meshgrid(x, y)\nZ = np.sin(np.sqrt(X**2 + Y**2)) * np.exp(-0.1 * (X**2 + Y**2))\n\n# Plot\nfig = plt.figure(figsize=(16, 9), facecolor=PAGE_BG)\nax = fig.add_subplot(111, projection=\"3d\")\nax.set_facecolor(PAGE_BG)\n\nsurf = ax.plot_surface(X, Y, Z, cmap=\"viridis\", alpha=0.95, edgecolor=\"none\")\n\n# Style\nax.set_xlabel(\"X\", fontsize=20, color=INK, labelpad=15)\nax.set_ylabel(\"Y\", fontsize=20, color=INK, labelpad=15)\nax.set_zlabel(\"Z\", fontsize=20, color=INK, labelpad=15)\nax.set_title(\"surface-basic · seaborn · anyplot.ai\", fontsize=24, fontweight=\"medium\", color=INK, pad=20)\n\nax.tick_params(axis=\"both\", labelsize=14, colors=INK_SOFT)\nfor spine in ax.spines.values():\n    spine.set_edgecolor(INK_SOFT)\nax.grid(False)\n\n# Colorbar\ncbar = fig.colorbar(surf, ax=ax, pad=0.1, shrink=0.8)\ncbar.set_label(\"Height\", fontsize=16, color=INK, labelpad=10)\ncbar.ax.tick_params(labelsize=14, colors=INK_SOFT)\n\nax.view_init(elev=25, azim=45)\n\nplt.tight_layout()\nplt.savefig(f\"plot-{THEME}.png\", dpi=300, bbox_inches=\"tight\", facecolor=PAGE_BG)\nplt.close()\n"}