104 lines
24 KiB
Plaintext
104 lines
24 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
"# 3D plotting\n",
|
|
"\n",
|
|
"Demo 3D plotting with matplotlib and style the figure.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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s9lEZGSkWLx4seNr48aNE0lJSdUe+9VXXwkA4v333/f4epWVlWLGjBmiTZs2ok6dOqJnz54iOzvb8f3jx48LAGL58uViwIABIjw8XHz44Yc+jXXfvn0CgDhy5IjjawDEqlWrqj127NixIjIyUly8eNHj6x0+fFj0799fhIeHi27duon169dXe73nnntOdO7cWdSrV0906NBB/O///q8oLy8XQnh/3+fOnSt69Ogh6tevL9q2bSueeOIJUVxc7NPPqTdccIxIXbIfg6lXrx4A9/+aF0IgOTkZFy9exObNm7FhwwYcPXoUqampAIDU1FRMnjwZN910E86dO4dz5845vleT0tJSVFRUoEmTJjU+dvDgwejZsycyMjI8Puatt97C3LlzMWfOHPzwww+IjY3FqFGj8PPPP1d53PPPP4+nn34a+fn5iI2NrXHbJSUlWLRoETp06IB27drV+PhJkyahuLgYGzZscPt9u92Oe+65ByEhIfj222/x3nvv4fnnn6/2uMjISHz00Uc4ePAg3nrrLbz//vt48803AXh/34ODgzF//nwcOHAAixcvRm5uLp577rkax01EJOsM5sKFC2LUqFEiMjJSnD9/XghRdQazfv16ERISIk6dOuV4jR9//FEAcCxlPG3aNNGzZ0+/Szlx4kTRsWNHcfXqVcfXPM1ghBAiNTVVdOvWzePrXXfddeIf//hHla/ddtttYuLEiUKI/85g5s2b59P43nnnHRERESEAiK5du1aZvQjheQZz9epVAUC8/vrrbl83JydHhISEiF9++cXxtezsbI+vJ5k9e7bo1auX4//7+r5//vnnomnTpjU+To84gyFSlywzmLZt26JBgwZo1qwZ8vPzsWLFCrRo0aLa4/Lz89GuXbsq/3Lv3r07GjdujPz8/IC3P3v2bHz66afIyMhA3bp1fXqOEAJBQUFuv1dUVISzZ8/izjvvrPL1O++8s9o4e/fu7dP2HnzwQezZswebN29G586dcd999+HatWs+jROAx7Hm5+fj+uuvR9u2bR1f69u3b7XHrVy5EnfddRdatWqFBg0aYOrUqTh16lSN28/Ly8OwYcPQpk0bREZGYuzYsfjtt99QUlJS43OJyNpkCczWrVuxb98+FBYW4vDhwx53FXn6UPf2YV+TOXPmYObMmVi/fj1uueUWn5+Xn5+PDh06eH2M65jcjTMi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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from mpl_toolkits.mplot3d.axes3d import Axes3D, get_test_data\n",
|
|
"\n",
|
|
"ax: Axes3D = plt.figure().add_subplot(projection=\"3d\")\n",
|
|
"X, Y, Z = get_test_data(0.05)\n",
|
|
"cset = ax.contourf(X, Y, Z)\n",
|
|
"ax.clabel(cset, fontsize=9, inline=1)\n",
|
|
"\n",
|
|
"plt.xticks([])\n",
|
|
"plt.yticks([])\n",
|
|
"ax.set_zticks([])\n",
|
|
"\n",
|
|
"\n",
|
|
"ax.text2D(\n",
|
|
" -0.05,\n",
|
|
" 1.05,\n",
|
|
" \" 3D plots \\n\",\n",
|
|
" horizontalalignment=\"left\",\n",
|
|
" verticalalignment=\"top\",\n",
|
|
" bbox={\"facecolor\": \"white\", \"alpha\": 1.0},\n",
|
|
" family=\"DejaVu Sans\",\n",
|
|
" size=\"x-large\",\n",
|
|
" transform=plt.gca().transAxes,\n",
|
|
")\n",
|
|
"\n",
|
|
"ax.text2D(\n",
|
|
" -0.05,\n",
|
|
" 0.975,\n",
|
|
" \" Plot 2D or 3D data\",\n",
|
|
" horizontalalignment=\"left\",\n",
|
|
" verticalalignment=\"top\",\n",
|
|
" family=\"DejaVu Sans\",\n",
|
|
" size=\"medium\",\n",
|
|
" transform=plt.gca().transAxes,\n",
|
|
")\n",
|
|
"\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.12.11"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|