fantastic-matplotlib/第二回:艺术画笔见乾坤.ipynb

1562 lines
410 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 第二回:艺术画笔见乾坤"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 一、概述"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. matplotlib的三层api\n",
"matplotlib的原理或者说基础逻辑是用Artist对象在画布(canvas)上绘制(Render)图形。 \n",
"就和人作画的步骤类似: \n",
"1. 准备一块画布或画纸\n",
"2. 准备好颜料、画笔等制图工具\n",
"3. 作画\n",
" \n",
"所以matplotlib有三个层次的API \n",
" \n",
"`matplotlib.backend_bases.FigureCanvas` 代表了绘图区,所有的图像都是在绘图区完成的 \n",
"`matplotlib.backend_bases.Renderer` 代表了渲染器,可以近似理解为画笔,控制如何在 FigureCanvas 上画图。 \n",
"`matplotlib.artist.Artist` 代表了具体的图表组件即调用了Renderer的接口在Canvas上作图。 \n",
"前两者处理程序和计算机的底层交互的事项第三项Artist就是具体的调用接口来做出我们想要的图比如图形、文本、线条的设定。所以通常来说我们95%的时间都是用来和matplotlib.artist.Artist类打交道的。\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T07:51:58.496608Z",
"start_time": "2021-05-23T07:51:58.471601Z"
}
},
"source": [
"### 2. Artist的分类\n",
"Artist有两种类型`primitives` 和`containers`。 \n",
" \n",
"`primitive`是基本要素,它包含一些我们要在绘图区作图用到的标准图形对象,如**曲线Line2D文字text矩形Rectangle图像image**等。 \n",
" \n",
"`container`是容器,即用来装基本要素的地方,包括**图形figure、坐标系Axes和坐标轴Axis**。他们之间的关系如下图所示: \n",
"![分类](https://img-blog.csdnimg.cn/20201122230916134.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODYwNDk2MQ==,size_16,color_FFFFFF,t_70#pic_center) "
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2020-10-31T08:16:02.613781Z",
"start_time": "2020-10-31T08:16:02.591813Z"
}
},
"source": [
"### 3. matplotlib标准用法\n",
"matplotlib的标准使用流程为 \n",
"1. 创建一个`Figure`实例\n",
"2. 使用`Figure`实例创建一个或者多个`Axes`或`Subplot`实例\n",
"3. 使用`Axes`实例的辅助方法来创建`primitive` \n",
"\n",
"值得一提的是Axes是一种容器它可能是matplotlib API中最重要的类并且我们大多数时间都花在和它打交道上。更具体的信息会在第三节容器小节说明。\n",
"\n",
"一个流程示例及说明如下: "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:15.890803Z",
"start_time": "2021-05-23T08:29:15.508211Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# step 1 \n",
"# 我们用 matplotlib.pyplot.figure() 创建了一个Figure实例\n",
"fig = plt.figure()\n",
"\n",
"# step 2\n",
"# 然后用Figure实例创建了一个两行一列(即可以有两个subplot)的绘图区并同时在第一个位置创建了一个subplot\n",
"ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot\n",
"\n",
"# step 3\n",
"# 然后用Axes实例的方法画了一条曲线\n",
"t = np.arange(0.0, 1.0, 0.01)\n",
"s = np.sin(2*np.pi*t)\n",
"line, = ax.plot(t, s, color='blue', lw=2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 二、基本元素 - primitives\n",
"各容器中可能会包含多种`基本要素-primitives`, 所以先介绍下primitives再介绍容器。\n",
" \n",
"本章重点介绍下 `primitives` 的几种类型:**曲线-Line2D矩形-Rectangle图像-image** (其中文本-Text较为复杂会在之后单独详细说明。\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. 2DLines\n",
"在matplotlib中曲线的绘制主要是通过类 `matplotlib.lines.Line2D` 来完成的。 \n",
"它的基类: `matplotlib.artist.Artist` \n",
" \n",
"matplotlib中`线-line`的含义:它表示的可以是连接所有顶点的实线样式,也可以是每个顶点的标记。此外,这条线也会受到绘画风格的影响,比如,我们可以创建虚线种类的线。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"它的构造函数:\n",
"\n",
">```\n",
"class matplotlib.lines.Line2D(xdata, ydata, linewidth=None, linestyle=None, color=None, marker=None, markersize=None, markeredgewidth=None, markeredgecolor=None, markerfacecolor=None, markerfacecoloralt='none', fillstyle=None, antialiased=None, dash_capstyle=None, solid_capstyle=None, dash_joinstyle=None, solid_joinstyle=None, pickradius=5, drawstyle=None, markevery=None, **kwargs)\n",
">```\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"其中常用的的参数有: \n",
"+ **xdata**:需要绘制的line中点的在x轴上的取值若忽略则默认为range(1,len(ydata)+1)\n",
"+ **ydata**:需要绘制的line中点的在y轴上的取值\n",
"+ **linewidth**:线条的宽度\n",
"+ **linestyle**:线型\n",
"+ **color**:线条的颜色\n",
"+ **marker**:点的标记,详细可参考[markers API](https://matplotlib.org/api/markers_api.html#module-matplotlib.markers)\n",
"+ **markersize**:标记的size\n",
" \n",
"其他详细参数可参考[Line2D官方文档](https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#examples-using-matplotlib-lines-line2d)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### a. 如何设置Line2D的属性\n",
"有三种方法可以用设置线的属性。 \n",
"1) 直接在plot()函数中设置 \n",
"2) 通过获得线对象,对线对象进行设置 \n",
"3) 获得线属性使用setp()函数设置 \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.033193Z",
"start_time": "2021-05-23T08:29:15.893804Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x20fceab0af0>]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 1) 直接在plot()函数中设置\n",
"import matplotlib.pyplot as plt\n",
"x = range(0,5)\n",
"y = [2,5,7,8,10]\n",
"plt.plot(x,y, linewidth=10) # 设置线的粗细参数为10"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.160728Z",
"start_time": "2021-05-23T08:29:16.036194Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 2) 通过获得线对象,对线对象进行设置\n",
"x = range(0,5)\n",
"y = [2,5,7,8,10]\n",
"line, = plt.plot(x, y, '-')\n",
"line.set_antialiased(False) # 关闭抗锯齿功能"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.287757Z",
"start_time": "2021-05-23T08:29:16.162728Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[None, None]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAf90lEQVR4nO3de7xXU/7H8denU0nSRCWZJLkzKTkSkXQRiajQ0IyJbm4T5ocYozEGM4ORmXGZxGjGfSo0/eRXkjDInJKUklsqSieRSrfT+fz+WMej5qjO+X73/t7fz8fjPDqXvdf+PPbj9G619l5rmbsjIiK5p0amCxARkeQowEVEcpQCXEQkRynARURylAJcRCRH1UznxRo1auQtWrRI5yVFRHLezJkzV7p748rfT2uAt2jRgpKSknReUkQk55nZp9v7voZQRERylAJcRCTV3OGJJ2DhwlibVYCLiKTS0qVw5plw/vkwcCCUl8fWtAJcRCQVysvhr3+Fww+HiRPD9159NXwvJgpwEZG4ffABdO4MQ4fCmjX//bNrr4XFi2O5TJUBbmYPm9kKM5u7zff2NLMpZvZBxZ97xFKNiEguKyuDO++EI4+E6dO3f8zatSHYY1hIsDo98EeAUyt9bzgw1d0PAqZWfC0iUrjmzIHjjoNrroENG3Z+7KRJ8NhjkS9ZZYC7+yvAqkrf7gWMqfh8DHBW5EpERHLRxo0wYgQcfTQkMs9l2DBYsSLSpZMdA2/i7ssAKv7ca0cHmtlgMysxs5LS0tIkLycikoXefBPatoXf/CYMnyRi1Sq44opIl0/5Q0x3H+Xuxe5e3Ljx92aCiojknnXr4Kqr4Pjj4b33km/n6afhjTeSPj3ZAP/CzJoCVPwZ7f8BIiK5YupUaNUKRo6M9iByr73gn/+E9u2TbiLZAJ8AXFjx+YXAc0lXICKSC77+OkzE6doVPvkkWls//WnoufftC2ZJN1PlYlZm9gTQCWhkZkuBEcDvgKfN7GJgMXBO0hWIiGS7556DSy6BZcuitdO8eZjIc2rlF/uSU2WAu/uPd/CjLrFUICKSrb74An7+8zBWHdXll8Ntt8Huu0dvq0Jal5MVEckJ7vDoo3DlleFtkSgOOQRGj4YTToiltG1pKr2IyLYWL4bTTw/j1FHCu6gIrr8eZs9OSXiDeuAiIkF5OTzwAFx3XZjuHkWbNvDQQ+Ed8RRSD1xEZOFC6NQJLrssWnjvsksY537rrZSHN6gHLiKFrKwM7rorTIXfuDFaWx06hLHuQw+Np7ZqUICLSGGaPRsuvhhmzYrWzm67we9+B5deCjXSO6ihIRQRKSwbNsAvfwnFxdHDu3t3mDcvvCKY5vAG9cBFpJC8/nrodS9YEK2dPfaAu+8Ob6pEmEkZlXrgIpL/1q4NE3JOOCF6ePftG6bBX3hhRsMb1AMXkXw3eTIMHgyffhqtnSZN4L77oHfveOqKgXrgIpKfvvoKBgwI49RRw3vAAJg/P6vCG9QDF5F8NH58eKd7+fJo7bRoAaNGQbdusZQVN/XARSR/LF8exqj79IkW3mZhzPzdd7M2vEE9cBHJB+4wZgxcfXUYOoni0EPDNPjjj4+nthRSD1xEctuiRWF97QEDooV3zZrh/fC3386J8Ab1wEUkV5WXw733hhX/1q2L1lbbtqHX3aZNLKWlS6QeuJkNM7O5ZjbPzK6MqSYRkZ1bsAA6dgzj1FHCu04d+P3vYcaMnAtviBDgZvYjYBDQDmgN9DSzg+IqTETkezZvDqv9tW4N//53tLZOPBHeeQeuvTYMn+SgKD3ww4A33f1bdy8DpgNnx1OWiEgls2ZBu3ZhnHrTpuTbqVcvTMh5+WU4+ODYysuEKAE+F+hoZg3NrC7QA9i38kFmNtjMSsyspLS0NMLlRKQgrV8fxrnbtQsrCEZx2mlh8alLLsnI4lNxS/r/De4+38x+D0wB1gLvAGXbOW4UMAqguLjYk72eiBSg114Li08tXBitnYYNYeRIuOCCjK9fEqdI/wS5+0Pu3tbdOwKrgA/iKUtECtqaNWGJ1hNPjB7e550XFp/q3z+vwhsivkZoZnu5+wozaw70Bo6LpywRKViTJsGQIbBkSbR2mjaF+++HXr3iqSsLRX30Os7MGgKbgcvcPeIUKBEpWF9+CVddBf/4R/S2Bg6EO+6ABg2it5XFIgW4u58YVyEiUqDcYezYMGSyYkW0tvbfHx58ELp0iae2LJf7j2FFJHctWxaWaD333GjhbRZ67+++WzDhDZpKLyKZ4A5/+1tYfGr16mhtHX54mAbfvn08teUQ9cBFJL0++QROOSW8HhglvGvWhBEjwgSfAgxvUA9cRNJlyxb4y1/ghhvg22+jtVVcDA8/DK1axVNbjlKAi0jqvfde6HG/+Wa0durUgd/+FoYNy9n1S+KkOyAiqbNpU1jt77e/jbZ+CcBJJ8Ho0XDggfHUlgcU4CKSGiUlodc9Z060durXD+90DxyYF+uXxEl3Q0TitX59WKL12GOjh3fPnmHxqcGDFd7boR64iMRn+vTQU/7ww2jtNGoEf/oT9OuXd+uXxEn/pIlIdN98E5Zo7dQpeniff3546PnjHyu8q6AeuIhE87//C0OHwtKl0dr54Q/D4lNnnBFPXQVAPXARSc7KlWGJ1p49o4f3kCFhrFvhnRD1wEUkMe7w1FNwxRUhxKM44IDwamCnTrGUVmjUAxeR6vvsMzjrrDA+HSW8a9SA//mf8JaKwjtp6oGLyM59+y288AKMGwfPPQfr1kVrr1WrsPjUMcfEU18BU4CLyPd98014ODluXNghJ+raJQC1asGNN8Lw4VC7dvT2JPKWalcBAwEH3gUGuPuGOAoTkTT76iuYMCGE9uTJsHFjfG0fe2zodR9xRHxtSvIBbmY/BH4OHO7u683saaAf8EhMtYlIqq1YAc8+G0L7pZegrCze9uvWhVtvDQ88i4ribVsiD6HUBHY1s81AXeDz6CWJSEp99hk880wI7VdegfLy1FynSxcYNQpatkxN+5J8gLv7Z2Z2J7AYWA9MdvfJlY8zs8HAYIDmzZsnezkRiWLRohDY48bBG2+k9lo/+AHcdRdcdJFmUqZYlCGUPYBewP7A18A/zay/uz+67XHuPgoYBVBcXOzJlyoiCVm4MAT22LFh15p06NUL7rsP9tknPdcrcFGGULoCn7h7KYCZjQeOBx7d6VkikhruMHfu1p723Lnpu3bjxmG3nXPOUa87jaIE+GKgvZnVJQyhdAFKYqlKRKrHHWbO3BraH3yQ/hr694eRI6Fhw/Rfu8BFGQOfYWZjgVlAGfA2FUMlIpJC5eVha7LvQvvTT9Nfwz77QO/eMGgQHHlk+q8vQMS3UNx9BDAiplpEZEfKyuDVV0NgP/MMfJ6BF7722w/69oU+fcJ73dpgIeM0E1MkW23aBNOmhdB+9lkoLU1/DQcfHAK7Tx9o21bj21lGAS6STTZsCLMgx40LsyK//jr9NbRqtTW0jzhCoZ3FFOAimbZuXVhvZOzYsP7I2rXpr+Hoo8PwSO/eodctOUEBLpIJq1fDxImhp/3CC2Ej4HQ7/vjQy+7dG1q0SP/1JTIFuEi6fPllWI513Dh48cUwxp1ONWrASSeF0D77bE22yQMKcJFUWr5862JR06bBli3pvX7NmmFNkj59wkYMjRun9/qSUgpwkbgtWQLjx4fQfu21MNkmnXbZBbp3D6F9xhmwxx7pvb6kjQJcJA4ff7x13ZG33kr/9evWhdNPD6Hdowfsvnv6a5C0U4CLJGv+/K2zIWfPTv/169cPPew+fUKPu27d9NcgGaUAF6ku97AJ79ixIbTnz09/DXvuGcay+/QJY9u77JL+GiRrKMBFdsYd/vOfrT3tjz5Kfw1NmoS3Rvr2DW+R1NRfWwn0myBS2ZYt8PrrIbDHjw8PJdNt333D+9l9+oT3tbUdmWyHAlwEwmJR06dvXSxq+fL019Cy5dbFoo45RlPYpUoKcClc7uE1v0ceCRNsvvwy/TUcdtjWdUdat1ZoS0IU4FKYPvoIhgyBqVPTf+02bbaG9mGHpf/6kjei7Il5CPDUNt9qCdzk7iOjFiWSMlu2wD33wI03pnf9kXbttob2AQek77qS16LsyPM+0AbAzIqAz4Bn4ilLJAXmzoWLL07PRBszOOGErYtF7btv6q8pBSeuIZQuwEfunoG9nUSqsGkT3HZb+Ni8OXXXKSqCk0/euu7I3nun7loixBfg/YAntvcDMxsMDAZo3rx5TJcTqaa33oKLLoJ581LTfq1a0K1bCO1evbSxr6SVecSFdsysNvA5cIS7f7GzY4uLi72kRBvXSxp8+y386ldht/Ty8njbrlMHTjsthHbPnvCDH8TbvkglZjbT3Ysrfz+OHvhpwKyqwlskbaZNg4EDwwJTcalXLywW1bdvCO/ddouvbZEkxRHgP2YHwyciabV6NVxzDTz4YDztNWgAZ54ZetqnnBJ63iJZJFKAm1ldoBswJJ5yRJL0r3/B0KHw+efR2mnYcOsU9pNPhtq146lPJAUiBbi7fwvoqY1kzooVMGwYPPlk9LYuvRRuvz0s0yqSAzQTU3KTOzz+eAjvqFPgDzoIRo+Gjh3jqU0kTWpkugCRhC1ZEjYy6N8/WngXFcHw4fDOOwpvyUnqgUvuKC+HUaPg2mthzZpobbVuDQ89BEcfHU9tIhmgHrjkhg8+gM6d4ZJLooV37dpw661hkwaFt+Q49cAlu5WVwd13w003wYYN0do67rjQ69YKgJInFOCSvebMCYtPRZ29u9tu4e2SSy/VzjaSVxTgkn02bgzDHLffHnrgUXTrFsbNW7SIpTSRbKIAl+zyxhuh1x11x/cGDcLQy4UXapcbyVt6iCnZYd06uPJK6NAhenj37h3a+NnPFN6S19QDl8x78UUYNAgWLYrWTpMmcO+9YRq8SAFQD1wy5+uvw3BJt27Rw/vCC+G99xTeUlDUA5fMePbZ8FbIsmXR2mnePDyk7N49lrJEcol64JJeX3wB554LZ58dLbzN4PLLwz6XCm8pUOqBS3q4w6OPhgeVq1ZFa+uQQ8KEnA4dYilNJFepBy6pt3gx9OgBP/1ptPAuKoIbboDZsxXeIqgHLqlUXg733x9W/Fu7NlpbRx0FDz8MbdrEUppIPojUAzezBmY21swWmNl8MzsursIkx73/Ppx0UhinjhLeu+wSZmTOmKHwFqkkag/8HuAFd+9bsTt93RhqklxWVgZ33gm//nWYEh/FCSeEjRYOOSSW0kTyTdIBbmb1gY7AzwDcfROwKZ6yJCfNnh3e6541K1o79erB734Xlo6tocc0IjsS5W9HS6AU+JuZvW1mo81st8oHmdlgMysxs5LS0tIIl5OstWED/PKXUFwcPbxPPTW8GnjZZQpvkSpE+RtSE2gL3O/uRwHrgOGVD3L3Ue5e7O7FjRs3jnA5yUqvvx4eMN52G2zZknw7e+4Jf/87PP887LdffPWJ5LEoAb4UWOruMyq+HksIdCkEa9fCz38exqkXLIjW1jnnhGnwP/mJFp8SSUDSY+DuvtzMlpjZIe7+PtAFeC++0iRrTZ4MgwfDp59Ga2fvveG++8KsTBFJWNS3UK4AHqt4A+VjYED0kiRrrVoFv/gFPPJI9LYuuii8rbLHHtHbEilQkQLc3WcDxfGUIllt3LjwYPGLL6K106IFPPggdO0aS1kihUyP+WXnli+Hvn3DR5TwNoNhw+DddxXeIjHRVHrZPncYMwauvhq++ipaW4cdFhafOk4TdUXipB64fN+iReF97AEDooV3zZrwq1/B228rvEVSQD1w2aq8PGxJdv31YY/KKI4+OvS6W7eOpzYR+R4FuATz58PAgWFiThR16sBvfgNXXRV64CKSMvobVug2b4Y77oCbb4ZNEZey6dgxvGFy8MHx1CYiO6UAL2SzZoXFp2bPjtbO7rvDH/4QJvdo/RKRtNHftkK0fn0Y527XLnp49+gB8+bB0KEKb5E0Uw+80Lz2Wuh1L1wYrZ2GDeGee+D887V+iUiGqMtUKNasCbvjnHhi9PDu1y8sPnXBBQpvkQxSD7wQTJoEQ4bAkiXR2tlnn7DH5ZlnxlOXiESiHng++/LLsBN8jx7Rw3vQoDDWrfAWyRrqgecjdxg7NgyZrFgRra2WLcOrgZ07x1ObiMRGPfB8s2wZ9O4N554bLbxr1AjroMyZo/AWyVLqgeeTf/wDrrgCVq+O1s4RR4Rp8MceG09dIpIS6oHnA3cYPjyMd0cJ71q1YMSIMMFH4S2S9SL1wM1sEbAG2AKUubs2d0g397DuyD33RGvnmGNCr7tVq3jqEpGUi2MI5WR3XxlDO5Ko8vLwoPL++5NvY9dd4ZZb4MoroagottJEJPU0Bp6rysvDu92jRyffRqdO4Q2TAw+MrSwRSZ+oY+AOTDazmWY2eHsHmNlgMysxs5LS0tKIlxMAtmwJmy0kG97168Nf/wpTpyq8RXJY1B54B3f/3Mz2AqaY2QJ3f2XbA9x9FDAKoLi42CNeTzZvDg8rn3wyufN79gxDLs2axVuXiKRdpB64u39e8ecK4BmgXRxFyQ5s2hTWIUkmvBs1gieegAkTFN4ieSLpADez3cxs9+8+B04B5sZVmFSycWPYGX78+MTP7ds3LD7Vr58WnxLJI1GGUJoAz1gIhJrA4+7+QixVyX9bvz7Mrnwhidt7ySXwl79orW6RPJR0gLv7x4B2rE21deugV6/wwDFRV14Jf/yjet0ieUrdsmy2Zk1YSTCZ8L7uOoW3SJ5TgGer1auhe3d45ZWqj63sppvg9tsV3iJ5ThN5stFXX4Xw/s9/Ej/3llvgxhvjr0lEso4CPNusXAmnnAJvv534uX/4A1xzTfw1iUhWUoBnkxUroGtXePfdxM8dORKGDYu9JBHJXgrwbLFsGXTpAvPnJ37u/ffD0KHx1yQiWU0Bng2WLg273nzwQWLnmYX1UC66KDV1iUhWU4Bn2qefhvD++OPEzqtRAx55BH7yk5SUJSLZTwGeSR99FMJ78eLEzisqgsceg/POS01dIpITFOCZ8v77Ycz7s88SO69WrbCYVe/eqalLRHKGAjwT3nsvhPfy5YmdV7s2jBsXloQVkYKnAE+3OXPCq4KJbm5Rpw48+2yY4CMiggI8vWbNgm7dYNWqxM7bdVf4179Cr11EpILWQkmXt94KAZxoeNerF5aRVXiLSCXqgafDv/8Np50WVhdMRP36IbyPOy41dYlITovcAzezIjN728wmxlFQ3pk+PYxbJxreDRrAiy8qvEVkh+IYQhkGJDH/uwC8+GLoea9bl9h5DRvCSy/BMcekpi4RyQuRAtzMmgGnA6PjKSePTJoUXvdbvz6x8/baC6ZNg6OOSk1dIpI3ovbARwLXAuU7OsDMBptZiZmVlCb66lyumjABzjorbESciKZN4eWXoVWrVFQlInkmyq70PYEV7j5zZ8e5+yh3L3b34saNGyd7udwxbhz06QObNiV2XrNmYbz8sMNSU5eI5J0oPfAOwJlmtgh4EuhsZo/GUlWueuKJsD5JWVli5+23X9g67aCDUlOXiOSlpAPc3a9392bu3gLoB7zk7v1jqyzXjBkD/fvDli2JndeyZeh5779/auoSkbyliTxxGD0aBgyA8h0+Cti+gw8OPe/99ktNXSKS12KZyOPuLwMvx9FWzrn3Xrj88sTPO/xwmDoV9t47/ppEpCCoBx7F3XcnF95HHhneNlF4i0gECvBk/f73cPXViZ/Xtm2YpFMIb+SISEopwJNxyy0wfHji57VrF4ZNGjaMvyYRKTgK8ES4w403wk03JX5uhw4wZUpY40REJAZajbC63OG66+COOxI/t1OnsJ53vXqxlyUihUsBXh3ucNVVcM89iZ/btSs89xzUrRt/XSJS0BTgVSkvh8sugwceSPzc006D8ePDdmgiIjHTGPjObNkCgwYlF969esEzzyi8RSRl1APfkbKyMLvy0SSWd+nbFx5/HGrVir8uEZEK6oFvz+bNYV2TZML7/PPDolYKbxFJMfXAK9u0Cfr1C8MfibrwQnjoISgqir8uEZFK1APf1oYNYS3vZMJ70CB4+GGFt4ikjQL8O+vXhwePE5PYm/m7t1Rq6HaKSPoocSBsOtyzJ0yenPi5V18Nf/6zwltE0k6ps2ZNeF/7pZcSP3f4cLjzTjCLvy4RkSoUdoCvXg3du8OrryZ+7ogRcNttCm8RyZik30IxszrAK8AuFe2MdfcRcRWWcqtWhfAuKUn83FtvhRtuiL8mEZEERHmNcCPQ2d3Xmlkt4DUzm+Tub8ZUW+qsXAndusHs2Ymfe+ed8ItfxF6SiEiikg5wd3dgbcWXtSo+PI6iUuqLL8ICU3PnJn7un/4EV1wRf00iIkmINAZuZkVmNhtYAUxx9xnbOWawmZWYWUlpaWmUy0X3+edhaddkwvuBBxTeIpJVIgW4u29x9zZAM6Cdmf1oO8eMcvdidy9unMltxJYsgZNOggULEjvPLEzQGTIkNXWJiCQplrdQ3P1rwq70p8bRXuwWLQrh/eGHiZ1Xowb8/e9hUSsRkSyTdICbWWMza1Dx+a5AVyDB7m0afPQRdOwIn3yS2HlFRWFRqv79U1OXiEhEUd5CaQqMMbMiwj8ET7t7EvPQU+j996Fz5zD2nYhateCpp+Dss1NTl4hIDKK8hTIHOCrGWuI1bx506RLeOklE7dowblyYWi8iksXycznZd94JrwquXJnYeXXqhP0rTzklNXWJiMQo/wJ85swwSeerrxI7r27dsHN8586pqUtEJGb5FeAzZoTp8atXJ3ZevXrw/PNw4ompqUtEJAXyZzGr114LPe9Ew7t+fZgyReEtIjknPwL85Zfh1FPD0rCJ2GMPmDoV2rdPSVkiIqmU+wE+ZQr06BE2ZUhEo0ZhDfDi4tTUJSKSYrkd4M8/D2ecEbZDS0STJjBtGrRpk5KyRETSIXcD/Lnn4KyzYOPGxM5r2jQMufzoe8u2iIjklNwM8H/+E/r2hc2bEztv333hlVfg0ENTU5eISBrlXoA//jj06wdlZYmd16IFTJ8OBx6YkrJERNIttwJ8zJiwuFR5eWLnHXBACO/9909NXSIiGZA7Af7gg2FZV09w059DDgnDJs2bp6YuEZEMyY0Av/deGDw48fA+4ojQ895nn9TUJSKSQdkf4H/8I1x+eeLntW4dXhVs0iT+mkREskB2B/jttye3A/zRR4dJOpncwk1EJMWyM8Dd4eab4YYbEj+3fXt48UXYc8/46xIRySJRtlTb18ymmdl8M5tnZsNiqcgdbrwRfv3rxM894QSYPBkaNIilFBGRbBZlOdky4BfuPsvMdgdmmtkUd38v6Rbd4Zpr4K67Ej/35JPDet677Zb05UVEcknSPXB3X+busyo+XwPMB34YqZprr00uvLt1g4kTFd4iUlBiGQM3sxaE/TFnbOdng82sxMxKSktLd95Q165hT8pEnH46TJgQdtQRESkgkQPczOoB44Ar3f2byj9391HuXuzuxY2reiuke/ewoXCtWtW7+FlnwfjxYS9LEZECEynAzawWIbwfc/fxsVTUsyc89RQUFe38uHPOgaefTrzHLiKSJ6K8hWLAQ8B8d/9jfCUBZ58Njz0GNXZQ3gUXhEWtqttTFxHJQ1F64B2AnwCdzWx2xUePmOqC884Li1eZ/ff3f/az8P2a+bUfs4hIopJOQXd/DbAqD4yif3/YtAkuvjh8PWQI3HffjnvmIiIFJPu7sRddFEJ8/nwYOfL7PXIRkQKV/QEOMHRopisQEck6GosQEclRCnARkRxlnugmCVEuZlYKfJrk6Y2AlTGWExfVlRjVlRjVlZhsrQui1bafu39vJmRaAzwKMytx9+JM11GZ6kqM6kqM6kpMttYFqalNQygiIjlKAS4ikqNyKcBHZbqAHVBdiVFdiVFdicnWuiAFteXMGLiIiPy3XOqBi4jINhTgIiI5KusC3MxONbP3zexDMxu+nZ+bmf2p4udzzKxtltTVycxWb7My401pqOlhM1thZnN38PNM3auq6kr7vaq4bpUbcWfinlWzrkz8ftUxs7fM7J2Kum7ezjGZuF/VqSsjv2MV1y4ys7fNbOJ2fhbv/XL3rPkAioCPgJZAbeAd4PBKx/QAJhFWQmwPzMiSujoBE9N8vzoCbYG5O/h52u9VNetK+72quG5ToG3F57sDC7Pk96s6dWXi98uAehWf1yJsmdg+C+5XderKyO9YxbWvBh7f3vXjvl/Z1gNvB3zo7h+7+ybgSaBXpWN6AX/34E2ggZk1zYK60s7dXwFW7eSQTNyr6tSVEV69jbjTfs+qWVfaVdyDtRVf1qr4qPzWQybuV3XqyggzawacDozewSGx3q9sC/AfAku2+Xop3/9Frs4xmagL4LiK/9ZNMrMjUlxTdWTiXlVXRu+V7Xgj7ozes53UBRm4ZxXDAbOBFcAUd8+K+1WNuiAzv2MjgWuB8h38PNb7lW0Bvr3Fviv/y1qdY+JWnWvOIqxX0Br4M/Bsimuqjkzcq+rI6L2ynW/EnbF7VkVdGbln7r7F3dsAzYB2ZvajSodk5H5Vo6603y8z6wmscPeZOztsO99L+n5lW4AvBfbd5utmwOdJHJP2utz9m+/+W+fuzwO1zKxRiuuqSibuVZUyea+s6o24M3LPqqor079f7v418DJwaqUfZfR3bEd1Zeh+dQDONLNFhGHWzmb2aKVjYr1f2Rbg/wEOMrP9zaw20A+YUOmYCcBPK57mtgdWu/uyTNdlZnubhe2CzKwd4d5+meK6qpKJe1WlTN2rimtWtRF32u9ZderKxD0zs8Zm1qDi812BrsCCSodl4n5VWVcm7pe7X+/uzdy9BSEjXnL3/pUOi/V+ZdWOPO5eZmaXA/9HePPjYXefZ2ZDK37+APA84Unuh8C3wIAsqasvcImZlQHrgX5e8dg5VczsCcLT9kZmthQYQXigk7F7Vc260n6vKny3Efe7FeOnADcAzbepLRP3rDp1ZeKeNQXGmFkRIQCfdveJmf77WM26MvU79j2pvF+aSi8ikqOybQhFRESqSQEuIpKjFOAiIjlKAS4ikqMU4CIiOUoBLiKSoxTgIiI56v8B5Wi0xTD7HL8AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 3) 获得线属性使用setp()函数设置\n",
"x = range(0,5)\n",
"y = [2,5,7,8,10]\n",
"lines = plt.plot(x, y)\n",
"plt.setp(lines, color='r', linewidth=10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### b. 如何绘制lines\n",
"1) 绘制直线line \n",
"2) errorbar绘制误差折线图 \n",
" \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"绘制直线line常用的方法有两种: \n",
"+ **pyplot方法绘制** \n",
"+ **Line2D对象绘制** \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.415785Z",
"start_time": "2021-05-23T08:29:16.288756Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x20fcebe8d30>]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 1. pyplot方法绘制\n",
"import matplotlib.pyplot as plt\n",
"x = range(0,5)\n",
"y = [2,5,7,8,10]\n",
"plt.plot(x,y)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.527324Z",
"start_time": "2021-05-23T08:29:16.416784Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 2. Line2D对象绘制\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.lines import Line2D \n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"line = Line2D(x, y)\n",
"ax.add_line(line)\n",
"ax.set_xlim(min(x), max(x))\n",
"ax.set_ylim(min(y), max(y))\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**2) errorbar绘制误差折线图** \n",
"pyplot里有个专门绘制误差线的功能通过`errorbar`类实现,它的构造函数: \n",
" \n",
">matplotlib.pyplot.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, \\*, data=None, \\**kwargs)\n",
" \n",
"其中最主要的参数是前几个: \n",
"+ **x**需要绘制的line中点的在x轴上的取值 \n",
"+ **y**需要绘制的line中点的在y轴上的取值 \n",
"+ **yerr**指定y轴水平的误差 \n",
"+ **xerr**指定x轴水平的误差 \n",
"+ **fmt**指定折线图中某个点的颜色形状线条风格例如co-- \n",
"+ **ecolor**指定error bar的颜色 \n",
"+ **elinewidth**指定error bar的线条宽度 \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"绘制errorbar"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.623411Z",
"start_time": "2021-05-23T08:29:16.529325Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<ErrorbarContainer object of 3 artists>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"fig = plt.figure()\n",
"x = np.arange(10)\n",
"y = 2.5 * np.sin(x / 20 * np.pi)\n",
"yerr = np.linspace(0.05, 0.2, 10)\n",
"plt.errorbar(x, y + 3, yerr=yerr, label='both limits (default)')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. patches\n",
"matplotlib.patches.Patch类是二维图形类。它的基类是matplotlib.artist.Artist它的构造函数 \n",
"详细清单见 [matplotlib.patches API](https://matplotlib.org/api/patches_api.html) \n",
" \n",
" \n",
"\n",
">Patch(edgecolor=None, facecolor=None, color=None,\n",
" linewidth=None, linestyle=None, antialiased=None,\n",
" hatch=None, fill=True, capstyle=None, joinstyle=None,\n",
" **kwargs)\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### a. Rectangle-矩形\n",
"`Rectangle`矩形类在官网中的定义是: 通过锚点xy及其宽度和高度生成。\n",
"Rectangle本身的主要比较简单即xy控制锚点width和height分别控制宽和高。它的构造函数\n",
"\n",
"> class matplotlib.patches.Rectangle(xy, width, height, angle=0.0, **kwargs)\n",
"\n",
"在实际中最常见的矩形图是**`hist直方图`和`bar条形图`**。 \n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**1) hist-直方图** \n",
"\n",
">matplotlib.pyplot.hist(x,bins=None,range=None, density=None, bottom=None, histtype='bar', align='mid', log=False, color=None, label=None, stacked=False, normed=None)\n",
" \n",
"下面是一些常用的参数: \n",
"+ **x**: 数据集,最终的直方图将对数据集进行统计\n",
"+ **bins**: 统计的区间分布\n",
"+ **range**: tuple, 显示的区间range在没有给出bins时生效\n",
"+ **density**: bool默认为false显示的是频数统计结果为True则显示频率统计结果这里需要注意频率统计结果=区间数目/(总数*区间宽度)和normed效果一致官方推荐使用density\n",
"+ **histtype**: 可选{'bar', 'barstacked', 'step', 'stepfilled'}之一默认为bar推荐使用默认配置step使用的是梯状stepfilled则会对梯状内部进行填充效果与bar类似\n",
"+ **align**: 可选{'left', 'mid', 'right'}之一,默认为'mid'控制柱状图的水平分布left或者right会有部分空白区域推荐使用默认\n",
"+ **log**: bool默认False,即y坐标轴是否选择指数刻度\n",
"+ **stacked**: bool默认为False是否为堆积状图"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"hist绘制直方图"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:16.766398Z",
"start_time": "2021-05-23T08:29:16.625404Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 100.0)"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np \n",
"x=np.random.randint(0,100,100) #生成[0-100)之间的100个数据,即 数据集 \n",
"bins=np.arange(0,101,10) #设置连续的边界值,即直方图的分布区间[0,10),[10,20)... \n",
"plt.hist(x,bins,color='fuchsia',alpha=0.5)#alpha设置透明度0为完全透明 \n",
"plt.xlabel('scores') \n",
"plt.ylabel('count') \n",
"plt.xlim(0,100)#设置x轴分布范围 plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`Rectangle`矩形类绘制直方图"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.129308Z",
"start_time": "2021-05-23T08:29:16.768398Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAOPklEQVR4nO3df4xl5V3H8ffH3dJ2KV1ARmx32exWKQRRBEelorUFNFsg3f7RPyCiVEkmMdrSBkMW+wfxDxOqpD+MBjOBLahkW6XYEkgqSGmICd12l1JYWCy0pbAIXQiWNlQL2K9/3LPZzbjTGe45M7M+9/1KbuaeH/c+333y7CfPPPfcM6kqJEnt+omVLkCStLQMeklqnEEvSY0z6CWpcQa9JDXOoJekxi0Y9Em2JdmXZPec/e9P8kiSh5L8xdKVKEnqYzEz+huAzQfvSPJOYAtwWlX9HHDN8KVJkoawYNBX1T3A83N2/yFwdVX9sDtn3xLUJkkawOoxX/dW4DeS/Dnw38CfVNVXDnVikhlgBuDII4/8pZNPPnnMJtvy4FMvrHQJ/Py6tStdguZwXOhQdu3a9VxVTY37+nGDfjVwLHAm8MvAPyZ5Sx3ifgpVNQvMAkxPT9fOnTvHrbUpG7fevtIlsPPq81e6BM3huNChJPl2n9ePe9XNXuCWGvky8CPguD6FSJKWxrhB/1ngnQBJ3gocATw3UE2SpAEtuHSTZDvwDuC4JHuBq4BtwLbuksuXgEsOtWwjSVp5CwZ9VV00z6GLB65FkrQE/GasJDXOoJekxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ1zqCXpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGLRj0SbYl2df9fdi5xy5PUkmOW5ryJEl9LWZGfwOwee7OJCcAvw08MXBNkqQBLRj0VXUP8PwhDn0MuAKooYuSJA1nrDX6JFuAp6rqawPXI0ka2OpX+4Ika4A/ZbRss5jzZ4AZgA0bNrza5iRJPY0zo/8ZYBPwtSSPA+uB+5L89KFOrqrZqpququmpqanxK5UkjeVVz+ir6kHgp/Zvd2E/XVXPDViXJGkgi7m8cjtwL3BSkr1JLl36siRJQ1lwRl9VFy1wfONg1UiSBuc3YyWpcQa9JDXOoJekxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ1zqCXpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGLeaPg29Lsi/J7oP2/WWSR5I8kOSfkxy9pFVKksa2mBn9DcDmOfvuBE6tql8Avg5cOXBdkqSBLBj0VXUP8PycfXdU1Svd5peA9UtQmyRpAKsHeI8/AD4938EkM8AMwIYNGwZoTkPZuPX2lS4BgMevPn+lS5Ca1uvD2CQfBl4BbprvnKqararpqpqemprq05wkaQxjz+iTvA+4ADinqmqwiiRJgxor6JNsBq4AfrOqfjBsSZKkIS3m8srtwL3ASUn2JrkU+GvgKODOJPcn+dslrlOSNKYFZ/RVddEhdl+/BLVIkpaA34yVpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxhn0ktS4xfzN2G1J9iXZfdC+Y5PcmeTR7ucxS1umJGlci5nR3wBsnrNvK3BXVZ0I3NVtS5IOQwsGfVXdAzw/Z/cW4Mbu+Y3Ae4YtS5I0lNVjvu74qnq6e/4McPx8JyaZAWYANmzYMGZzw9m49faVLkGHIceFWtb7w9iqKqB+zPHZqpququmpqam+zUmSXqVxg/47Sd4E0P3cN1xJkqQhjRv0twKXdM8vAT43TDmSpKEt5vLK7cC9wElJ9ia5FLga+K0kjwLndtuSpMPQgh/GVtVF8xw6Z+BaJElLwG/GSlLjDHpJapxBL0mNM+glqXEGvSQ1zqCXpMYZ9JLUuHFvaiYNxhuKSUvLGb0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxvUK+iQfSvJQkt1Jtid53VCFSZKGMXbQJ1kHfACYrqpTgVXAhUMVJkkaRt+lm9XA65OsBtYA/9G/JEnSkMa+e2VVPZXkGuAJ4L+AO6rqjrnnJZkBZgA2bNgwbnOSJszhcFfTx68+f6VLGESfpZtjgC3AJuDNwJFJLp57XlXNVtV0VU1PTU2NX6kkaSx9lm7OBb5VVc9W1cvALcCvDVOWJGkofYL+CeDMJGuSBDgH2DNMWZKkoYwd9FW1A7gZuA94sHuv2YHqkiQNpNefEqyqq4CrBqpFkrQE/GasJDXOoJekxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXG9vjD1aj341AuHxR3pJGmSOKOXpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TG9Qr6JEcnuTnJI0n2JHnbUIVJkobR9xYInwA+X1XvTXIEsGaAmiRJAxo76JOsBd4OvA+gql4CXhqmLEnSUPrM6DcBzwKfTHIasAu4rKpePPikJDPADMCqN071aE6SllcrN2Hss0a/GjgDuLaqTgdeBLbOPamqZqtquqqmV61Z26M5SdI4+gT9XmBvVe3otm9mFPySpMPI2EFfVc8ATyY5qdt1DvDwIFVJkgbT96qb9wM3dVfcfBP4/f4lSZKG1Cvoq+p+YHqYUiRJS8FvxkpS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxhn0ktQ4g16SGmfQS1LjDHpJalzvoE+yKslXk9w2REGSpGENMaO/DNgzwPtIkpZAr6BPsh44H7humHIkSUNb3fP1HweuAI6a74QkM8AMwKo3TvVsTtJS27j19pUuQQMbe0af5AJgX1Xt+nHnVdVsVU1X1fSqNWvHbU6SNKY+SzdnAe9O8jjwKeDsJP8wSFWSpMGMHfRVdWVVra+qjcCFwBeq6uLBKpMkDcLr6CWpcX0/jAWgqr4IfHGI95IkDcsZvSQ1zqCXpMYZ9JLUOINekhpn0EtS4wx6SWqcQS9JjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxo0d9ElOSHJ3koeTPJTksiELkyQNo8/fjH0FuLyq7ktyFLAryZ1V9fBAtUmSBjD2jL6qnq6q+7rn3wf2AOuGKkySNIxB1uiTbAROB3YM8X6SpOH0DvokbwA+A3ywqr53iOMzSXYm2fk/P3ihb3OSpFepV9AneQ2jkL+pqm451DlVNVtV01U1vWrN2j7NSZLG0OeqmwDXA3uq6qPDlSRJGlKfGf1ZwO8CZye5v3ucN1BdkqSBjH15ZVX9G5ABa5EkLQG/GStJjTPoJalxBr0kNc6gl6TGGfSS1DiDXpIaZ9BLUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxhn0ktQ4g16SGmfQS1LjDHpJapxBL0mNM+glqXEGvSQ1rlfQJ9mc5N+TPJZk61BFSZKGM3bQJ1kF/A3wLuAU4KIkpwxVmCRpGH1m9L8CPFZV36yql4BPAVuGKUuSNJTVPV67DnjyoO29wK/OPSnJDDDTbf7w2x+5YHePNltyHPDcShdxmLAvDrAvDrAvDjipz4v7BP2iVNUsMAuQZGdVTS91m/8f2BcH2BcH2BcH2BcHJNnZ5/V9lm6eAk44aHt9t0+SdBjpE/RfAU5MsinJEcCFwK3DlCVJGsrYSzdV9UqSPwb+BVgFbKuqhxZ42ey47TXIvjjAvjjAvjjAvjigV1+kqoYqRJJ0GPKbsZLUOINekhq3LEE/ybdKSHJCkruTPJzkoSSXdfuPTXJnkke7n8esdK3LJcmqJF9Nclu3vSnJjm58fLr7cL95SY5OcnOSR5LsSfK2SR0XST7U/f/YnWR7ktdNyrhIsi3JviS7D9p3yHGQkb/q+uSBJGcspo0lD3pvlcArwOVVdQpwJvBH3b9/K3BXVZ0I3NVtT4rLgD0HbX8E+FhV/Szwn8ClK1LV8vsE8PmqOhk4jVGfTNy4SLIO+AAwXVWnMrq440ImZ1zcAGyes2++cfAu4MTuMQNcu5gGlmNGP9G3Sqiqp6vqvu759xn9Z17HqA9u7E67EXjPihS4zJKsB84Hruu2A5wN3NydMhF9kWQt8HbgeoCqeqmqvsuEjgtGVwC+PslqYA3wNBMyLqrqHuD5ObvnGwdbgL+rkS8BRyd500JtLEfQH+pWCeuWod3DTpKNwOnADuD4qnq6O/QMcPxK1bXMPg5cAfyo2/5J4LtV9Uq3PSnjYxPwLPDJbhnruiRHMoHjoqqeAq4BnmAU8C8Au5jMcbHffONgrDz1w9hlkuQNwGeAD1bV9w4+VqNrXJu/zjXJBcC+qtq10rUcBlYDZwDXVtXpwIvMWaaZoHFxDKOZ6ibgzcCR/N+ljIk1xDhYjqCf+FslJHkNo5C/qapu6XZ/Z/+vXN3PfStV3zI6C3h3kscZLeGdzWid+ujuV3aYnPGxF9hbVTu67ZsZBf8kjotzgW9V1bNV9TJwC6OxMonjYr/5xsFYebocQT/Rt0ro1qCvB/ZU1UcPOnQrcEn3/BLgc8td23Krqiuran1VbWQ0Dr5QVb8D3A28tzttUvriGeDJJPvvSngO8DATOC4YLdmcmWRN9/9lf19M3Lg4yHzj4Fbg97qrb84EXjhoiWd+VbXkD+A84OvAN4APL0ebh8sD+HVGv3Y9ANzfPc5jtDZ9F/Ao8K/AsStd6zL3yzuA27rnbwG+DDwG/BPw2pWub5n64BeBnd3Y+CxwzKSOC+DPgEeA3cDfA6+dlHEBbGf02cTLjH7Tu3S+cQCE0VWM3wAeZHSl0oJteAsESWqcH8ZKUuMMeklqnEEvSY0z6CWpcQa9JDXOoJekxhn0ktS4/wVUzzhnBRuDogAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import re\n",
"df = pd.DataFrame(columns = ['data'])\n",
"df.loc[:,'data'] = x\n",
"df['fenzu'] = pd.cut(df['data'], bins=bins, right = False,include_lowest=True)\n",
"\n",
"df_cnt = df['fenzu'].value_counts().reset_index()\n",
"df_cnt.loc[:,'mini'] = df_cnt['index'].astype(str).map(lambda x:re.findall('\\[(.*)\\,',x)[0]).astype(int)\n",
"df_cnt.loc[:,'maxi'] = df_cnt['index'].astype(str).map(lambda x:re.findall('\\,(.*)\\)',x)[0]).astype(int)\n",
"df_cnt.loc[:,'width'] = df_cnt['maxi']- df_cnt['mini']\n",
"df_cnt.sort_values('mini',ascending = True,inplace = True)\n",
"df_cnt.reset_index(inplace = True,drop = True)\n",
"\n",
"#用Rectangle把hist绘制出来\n",
"import matplotlib.pyplot as plt\n",
"\n",
"fig = plt.figure()\n",
"ax1 = fig.add_subplot(111)\n",
"\n",
"for i in df_cnt.index:\n",
" rect = plt.Rectangle((df_cnt.loc[i,'mini'],0),df_cnt.loc[i,'width'],df_cnt.loc[i,'fenzu'])\n",
" ax1.add_patch(rect)\n",
"\n",
"ax1.set_xlim(0, 100)\n",
"ax1.set_ylim(0, 16)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**2) bar-柱状图** \n",
" \n",
">matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3)\n",
" \n",
"下面是一些常用的参数: \n",
"+ **left**x轴的位置序列一般采用range函数产生一个序列但是有时候可以是字符串 \n",
"+ **height**y轴的数值序列也就是柱形图的高度一般就是我们需要展示的数据 \n",
"+ **alpha**:透明度,值越小越透明 \n",
"+ **width**为柱形图的宽度一般这是为0.8即可; \n",
"+ **color或facecolor**:柱形图填充的颜色; \n",
"+ **edgecolor**:图形边缘颜色 \n",
"+ **label**解释每个图像代表的含义这个参数是为legend()函数做铺垫的表示该次bar的标签 \n",
" \n",
" \n",
"有两种方式绘制柱状图\n",
"+ bar绘制柱状图 \n",
"+ `Rectangle`矩形类绘制柱状图"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.257348Z",
"start_time": "2021-05-23T08:29:17.131294Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<BarContainer object of 16 artists>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# bar绘制柱状图\n",
"import matplotlib.pyplot as plt\n",
"y = range(1,17)\n",
"plt.bar(np.arange(16), y, alpha=0.5, width=0.5, color='yellow', edgecolor='red', label='The First Bar', lw=3)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.385378Z",
"start_time": "2021-05-23T08:29:17.258358Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAO4ElEQVR4nO3db4xldX3H8fenrEQXMWAY/MMyWTCyVAkWO7Yo0VaQZqsEfOADSDHbSjOJqYhGqxCS8qgNUeKfxEYzkXVJJGsN4p/Y1LJBLWmCKLuCLK6KUYqD6EJIq9FWJH77YC7tOszs3DnnzNyZn+9Xspl7zj33nk9mZz7zu+ee87upKiRJbfm9SQeQJA3PcpekBlnuktQgy12SGmS5S1KDLHdJatCK5Z5kd5LDSQ4uWn9lku8muT/J+9YuoiRptcYZue8Bdh65IslrgUuAs6vqpcANw0eTJHW1YrlX1R3A44tWvxW4vqp+Ndrm8BpkkyR1tKXj484AXp3k74H/Ad5dVd9YasMks8AswHHHHfeHZ555ZsddStLvpv379z9WVVOreUzXct8CnAicC7wC+HSS02uJuQyqag6YA5iZmam777674y4l6XdTkv9Y7WO6ni0zD9xaC74O/AY4qeNzSZIG1rXcPwecD5DkDOBY4LGBMkmSelrxsEySvcCfAiclmQeuA3YDu0enRz4B7FrqkIwkaTJWLPequmyZuy4fOIskaSBeoSpJDbLcJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqUNeJwyRJY9p+9T+Pve2D179hkH06cpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAatWO5Jdic5PPq81MX3vTtJJTlpbeJJkroYZ+S+B9i5eGWSU4ELgYcGziRJ6mnFcq+qO4DHl7jrg8B7gBo6lCSpn07H3JNcDDxcVfcOnEeSNIBVzwqZZCtwLfBnY24/C8wCTE9Pr3Z3krSuJjGD41roMnJ/EXAacG+SB4FtwIEkz19q46qaq6qZqpqZmprqnlSSNLZVj9yr6j7g5KeWRwU/U1WPDZhLktTDOKdC7gXuBHYkmU9yxdrHkiT1seLIvaouW+H+7YOlkSQNwitUJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqkOUuSQ1a9fQDkrRRtDLJ11pw5C5JDbLcJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqkOUuSQ2y3CWpQeN8QPbuJIeTHDxi3fuTfCfJt5J8NskJa5pSkrQq44zc9wA7F63bB5xVVWcD3wOuGTiXJKmHFcu9qu4AHl+07raqenK0+DVg2xpkkyR1NMSskG8B/mm5O5PMArMA09PTA+xO0mbkDI7rq9cbqkmuBZ4Ebl5um6qaq6qZqpqZmprqsztJ0pg6j9yT7AIuAi6oqhoukiSpr07lnmQn8F7gT6rql8NGkiT1Nc6pkHuBO4EdSeaTXAF8BDge2JfkniQfW+OckqRVWHHkXlWXLbH6xjXIIkkaiFeoSlKDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAZZ7pLUoCEmDpPUGCf52vwcuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lq0Difobo7yeEkB49Y99wk+5I8MPp64trGlCStxjgj9z3AzkXrrgZur6oXA7ePliVJG8SK5V5VdwCPL1p9CXDT6PZNwBuHjSVJ6qPrrJDPq6pHAKrqkSQnL7dhkllgFmB6errj7iQtxxkctZQ1f0O1quaqaqaqZqamptZ6d5Ikupf7T5O8AGD09fBwkSRJfXUt9y8Au0a3dwGfHyaOJGkI45wKuRe4E9iRZD7JFcD1wIVJHgAuHC1LkjaIFd9QrarLlrnrgoGzSJIG4hWqktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1qOvEYZI6GneiLyf5Uh+O3CWpQZa7JDXIcpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1qFe5J3lnkvuTHEyyN8kzhwomSequc7knOQV4OzBTVWcBxwCXDhVMktRd38MyW4BnJdkCbAV+3D+SJKmvzrNCVtXDSW4AHgL+G7itqm5bvF2SWWAWYHp6uuvupIlwBkdtVn0Oy5wIXAKcBrwQOC7J5Yu3q6q5qpqpqpmpqanuSSVJY+tzWOZ1wA+r6tGq+jVwK/CqYWJJkvroU+4PAecm2ZokwAXAoWFiSZL66FzuVXUXcAtwALhv9FxzA+WSJPXQ62P2quo64LqBskiSBuIVqpLUIMtdkhpkuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QG9bqISdpInMFR+n+O3CWpQZa7JDXIcpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUG9yj3JCUluSfKdJIeSvHKoYJKk7vpOP/Bh4EtV9aYkxwJbB8gkSeqpc7kneQ7wGuAvAarqCeCJYWJJkvroM3I/HXgU+ESSlwH7gauq6hdHbpRkFpgFmJ6e7rE7tcRJvqS11eeY+xbg5cBHq+oc4BfA1Ys3qqq5qpqpqpmpqakeu5MkjatPuc8D81V112j5FhbKXpI0YZ3Lvap+AvwoyY7RqguAbw+SSpLUS9+zZa4Ebh6dKfMD4K/6R5Ik9dWr3KvqHmBmmCiSpKF4haokNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqkOUuSQ2y3CWpQX2vUNXvAGdwlDYfR+6S1CDLXZIaZLlLUoMsd0lqkOUuSQ2y3CWpQZa7JDXIcpekBlnuktSg3uWe5Jgk30zyxSECSZL6G2LkfhVwaIDnkSQNpFe5J9kGvAH4+DBxJElD6Dtx2IeA9wDHL7dBkllgFmB6errn7rQSJ/mSBD1G7kkuAg5X1f6jbVdVc1U1U1UzU1NTXXcnSVqFPodlzgMuTvIg8Cng/CSfHCSVJKmXzuVeVddU1baq2g5cCny5qi4fLJkkqTPPc5ekBg3ySUxV9VXgq0M8lySpP0fuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAYNchGTunEGR0lrxZG7JDXIcpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1qHO5Jzk1yVeSHEpyf5KrhgwmSequz/QDTwLvqqoDSY4H9ifZV1XfHiibJKmjziP3qnqkqg6Mbv8cOAScMlQwSVJ3gxxzT7IdOAe4a4jnkyT103tWyCTPBj4DvKOqfrbE/bPALMD09HTf3U2MMzhK2kx6jdyTPIOFYr+5qm5dapuqmquqmaqamZqa6rM7SdKY+pwtE+BG4FBVfWC4SJKkvvqM3M8D3gycn+Se0b/XD5RLktRD52PuVfXvQAbMIkkaiFeoSlKDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAZZ7pLUIMtdkhrUe+KwjWjcSb7Aib4ktcmRuyQ1yHKXpAZZ7pLUIMtdkhpkuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QG9Sr3JDuTfDfJ95NcPVQoSVI/ncs9yTHAPwJ/DrwEuCzJS4YKJknqrs/I/Y+A71fVD6rqCeBTwCXDxJIk9ZGq6vbA5E3Azqr669Hym4E/rqq3LdpuFpgdLZ4FHOwed92cBDw26RBjMOdwNkNGMOfQNkvOHVV1/Goe0GfK3yyx7ml/KapqDpgDSHJ3Vc302Oe6MOewNkPOzZARzDm0zZRztY/pc1hmHjj1iOVtwI97PJ8kaSB9yv0bwIuTnJbkWOBS4AvDxJIk9dH5sExVPZnkbcC/AscAu6vq/hUeNtd1f+vMnMPaDDk3Q0Yw59Cazdn5DVVJ0sblFaqS1CDLXZIatC7lvhmmKUhyapKvJDmU5P4kV00609EkOSbJN5N8cdJZlpPkhCS3JPnO6Pv6yklnWkqSd47+zw8m2ZvkmZPOBJBkd5LDSQ4ese65SfYleWD09cRJZhxlWirn+0f/799K8tkkJ0ww4lOZnpbziPvenaSSnDSJbEfkWDJjkitHHXp/kveN81xrXu6baJqCJ4F3VdXvA+cCf7NBcz7lKuDQpEOs4MPAl6rqTOBlbMC8SU4B3g7MVNVZLJwccOlkU/2fPcDOReuuBm6vqhcDt4+WJ20PT8+5Dzirqs4Gvgdcs96hlrCHp+ckyanAhcBD6x1oCXtYlDHJa1m4+v/sqnopcMM4T7QeI/dNMU1BVT1SVQdGt3/OQhGdMtlUS0uyDXgD8PFJZ1lOkucArwFuBKiqJ6rqPycaanlbgGcl2QJsZYNcr1FVdwCPL1p9CXDT6PZNwBvXM9NSlspZVbdV1ZOjxa+xcB3MRC3z/QT4IPAelrgIc70tk/GtwPVV9avRNofHea71KPdTgB8dsTzPBi3NpyTZDpwD3DXhKMv5EAs/jL+ZcI6jOR14FPjE6PDRx5McN+lQi1XVwyyMhB4CHgH+q6pum2yqo3peVT0CCwMS4OQJ5xnHW4B/mXSIpSS5GHi4qu6ddJajOAN4dZK7kvxbkleM86D1KPexpinYKJI8G/gM8I6q+tmk8yyW5CLgcFXtn3SWFWwBXg58tKrOAX7BxjiE8FtGx6wvAU4DXggcl+TyyaZqR5JrWTjkefOksyyWZCtwLfB3k86ygi3AiSwcLv5b4NNJlurV37Ie5b5ppilI8gwWiv3mqrp10nmWcR5wcZIHWTjEdX6ST0420pLmgfmqeurVzy0slP1G8zrgh1X1aFX9GrgVeNWEMx3NT5O8AGD0dayX6JOQZBdwEfAXtTEvqHkRC3/U7x39Pm0DDiR5/kRTPd08cGst+DoLr9hXfON3Pcp9U0xTMPpLeCNwqKo+MOk8y6mqa6pqW1VtZ+F7+eWq2nAjzar6CfCjJDtGqy4Avj3BSMt5CDg3ydbRz8AFbMA3fo/wBWDX6PYu4PMTzLKsJDuB9wIXV9UvJ51nKVV1X1WdXFXbR79P88DLRz+7G8nngPMBkpwBHMsYM1muebmP3lR5apqCQ8Cnx5imYBLOA97Mwkj4ntG/10861CZ3JXBzkm8BfwD8w2TjPN3olcUtwAHgPhZ+JzbEJelJ9gJ3AjuSzCe5ArgeuDDJAyyc4XH9JDPCsjk/AhwP7Bv9Ln1soiFZNueGskzG3cDpo9MjPwXsGueVkNMPSFKDvEJVkhpkuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QG/S+Vr7lMxW37agAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Rectangle矩形类绘制柱状图\n",
"#import matplotlib.pyplot as plt\n",
"fig = plt.figure()\n",
"ax1 = fig.add_subplot(111)\n",
"\n",
"for i in range(1,17):\n",
" rect = plt.Rectangle((i+0.25,0),0.5,i)\n",
" ax1.add_patch(rect)\n",
"ax1.set_xlim(0, 16)\n",
"ax1.set_ylim(0, 16)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### b. Polygon-多边形\n",
"matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch它的构造函数\n",
" \n",
">class matplotlib.patches.Polygon(xy, closed=True, **kwargs) \n",
" \n",
"xy是一个N×2的numpy array为多边形的顶点。 \n",
"closed为True则指定多边形将起点和终点重合从而显式关闭多边形。 \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"matplotlib.patches.Polygon类中常用的是fill类它是基于xy绘制一个填充的多边形它的定义\n",
"\n",
">matplotlib.pyplot.fill(*args, data=None, **kwargs)\n",
"\n",
"参数说明 : 关于x、y和color的序列其中color是可选的参数每个多边形都是由其节点的x和y位置列表定义的后面可以选择一个颜色说明符。您可以通过提供多个x、y、[颜色]组来绘制多个多边形。"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.511490Z",
"start_time": "2021-05-23T08:29:17.387390Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.patches.Polygon at 0x20fd0a7dc70>]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 用fill来绘制图形\n",
"import matplotlib.pyplot as plt\n",
"x = np.linspace(0, 5 * np.pi, 1000) \n",
"y1 = np.sin(x)\n",
"y2 = np.sin(2 * x) \n",
"plt.fill(x, y1, color = \"g\", alpha = 0.3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### c. Wedge-契形\n",
"matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch它的构造函数\n",
"\n",
">class matplotlib.patches.Wedge(center, r, theta1, theta2, width=None, **kwargs) \n",
" \n",
"一个Wedge-契形 是以坐标x,y为中心半径为r从θ1扫到θ2(单位是度)。 \n",
"如果宽度给定则从内半径r -宽度到外半径r画出部分楔形。wedge中比较常见的是绘制饼状图。 \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"matplotlib.pyplot.pie语法 \n",
">matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)\n",
" \n",
"制作数据x的饼图每个楔子的面积用x/sum(x)表示。 \n",
"其中最主要的参数是前4个 \n",
"+ **x**:契型的形状,一维数组。\n",
"+ **explode**如果不是等于None则是一个len(x)数组,它指定用于偏移每个楔形块的半径的分数。 \n",
"+ **labels**用于指定每个契型块的标记取值是列表或为None。 \n",
"+ **colors**饼图循环使用的颜色序列。如果取值为None将使用当前活动循环中的颜色。 \n",
"+ **startangle**:饼状图开始的绘制的角度。 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"pie绘制饼状图"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.607540Z",
"start_time": "2021-05-23T08:29:17.513509Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt \n",
"labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'\n",
"sizes = [15, 30, 45, 10] \n",
"explode = (0, 0.1, 0, 0) \n",
"fig1, ax1 = plt.subplots() \n",
"ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) \n",
"ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. \n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"wedge绘制饼图"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.703570Z",
"start_time": "2021-05-23T08:29:17.608560Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt \n",
"from matplotlib.patches import Circle, Wedge\n",
"from matplotlib.collections import PatchCollection\n",
"\n",
"fig = plt.figure()\n",
"ax1 = fig.add_subplot(111)\n",
"theta1 = 0\n",
"sizes = [15, 30, 45, 10] \n",
"patches = []\n",
"patches += [\n",
" Wedge((0.3, 0.3), .2, 0, 54), # Full circle\n",
" Wedge((0.3, 0.3), .2, 54, 162), # Full ring\n",
" Wedge((0.3, 0.3), .2, 162, 324), # Full sector\n",
" Wedge((0.3, 0.3), .2, 324, 360), # Ring sector\n",
"]\n",
"colors = 100 * np.random.rand(len(patches))\n",
"p = PatchCollection(patches, alpha=0.4)\n",
"p.set_array(colors)\n",
"ax1.add_collection(p)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. collections\n",
"collections类是用来绘制一组对象的集合collections有许多不同的子类如RegularPolyCollection, CircleCollection, Pathcollection, 分别对应不同的集合子类型。其中比较常用的就是散点图它是属于PathCollection子类scatter方法提供了该类的封装根据x与y绘制不同大小或颜色标记的散点图。 它的构造方法:\n",
" \n",
">Axes.scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<deprecated parameter>, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)\n",
" \n",
" \n",
"其中最主要的参数是前5个 \n",
"+ **x**数据点x轴的位置 \n",
"+ **y**数据点y轴的位置 \n",
"+ **s**:尺寸大小 \n",
"+ **c**:可以是单个颜色格式的字符串,也可以是一系列颜色 \n",
"+ **marker**: 标记的类型 \n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:17.799637Z",
"start_time": "2021-05-23T08:29:17.705561Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 用scatter绘制散点图\n",
"x = [0,2,4,6,8,10] \n",
"y = [10]*len(x) \n",
"s = [20*2**n for n in range(len(x))] \n",
"plt.scatter(x,y,s=s) \n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. images\n",
"images是matplotlib中绘制image图像的类其中最常用的imshow可以根据数组绘制成图像它的构造函数\n",
">class matplotlib.image.AxesImage(ax, cmap=None, norm=None, interpolation=None, origin=None, extent=None, filternorm=True, filterrad=4.0, resample=False, **kwargs)\n",
" \n",
"imshow根据数组绘制图像\n",
">matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=<deprecated parameter>, filternorm=1, filterrad=4.0, imlim=<deprecated parameter>, resample=None, url=None, *, data=None, **kwargs\n",
"\n",
"使用imshow画图时首先需要传入一个数组数组对应的是空间内的像素位置和像素点的值interpolation参数可以设置不同的差值方法具体效果如下。"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:18.406235Z",
"start_time": "2021-05-23T08:29:17.801624Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x432 with 18 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16',\n",
" 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric',\n",
" 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos']\n",
"\n",
"\n",
"grid = np.random.rand(4, 4)\n",
"\n",
"fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9, 6),\n",
" subplot_kw={'xticks': [], 'yticks': []})\n",
"\n",
"for ax, interp_method in zip(axs.flat, methods):\n",
" ax.imshow(grid, interpolation=interp_method, cmap='viridis')\n",
" ax.set_title(str(interp_method))\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 三、对象容器 - Object container\n",
"容器会包含一些`primitives`,并且容器还有它自身的属性。 \n",
"比如`Axes Artist`,它是一种容器,它包含了很多`primitives`,比如`Line2D``Text`;同时,它也有自身的属性,比如`xscal`用来控制X轴是`linear`还是`log`的。 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Figure容器\n",
"`matplotlib.figure.Figure`是`Artist`最顶层的`container`-对象容器,它包含了图表中的所有元素。一张图表的背景就是在`Figure.patch`的一个矩形`Rectangle`。 \n",
"当我们向图表添加`Figure.add_subplot()`或者`Figure.add_axes()`元素时,这些都会被添加到`Figure.axes`列表中。"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:18.548550Z",
"start_time": "2021-05-23T08:29:18.408222Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AxesSubplot(0.125,0.536818;0.775x0.343182)\n",
"[<AxesSubplot:>, <matplotlib.axes._axes.Axes object at 0x0000020FD0ED21F0>]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax1 = fig.add_subplot(211) # 作一幅2*1的图选择第1个子图\n",
"ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3]) # 位置参数,四个数分别代表了(left,bottom,width,height)\n",
"print(ax1) \n",
"print(fig.axes) # fig.axes 中包含了subplot和axes两个实例, 刚刚添加的"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"由于`Figure`维持了`current axes`,因此你不应该手动的从`Figure.axes`列表中添加删除元素,而是要通过`Figure.add_subplot()`、`Figure.add_axes()`来添加元素,通过`Figure.delaxes()`来删除元素。但是你可以迭代或者访问`Figure.axes`中的`Axes`,然后修改这个`Axes`的属性。 \n",
" \n",
"比如下面的遍历axes里的内容并且添加网格线"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:18.644260Z",
"start_time": "2021-05-23T08:29:18.550540Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax1 = fig.add_subplot(211)\n",
"\n",
"for ax in fig.axes:\n",
" ax.grid(True)\n",
" \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`Figure`也有它自己的`text、line、patch、image`。你可以直接通过`add primitive`语句直接添加。但是注意`Figure`默认的坐标系是以像素为单位你可能需要转换成figure坐标系(0,0)表示左下点,(1,1)表示右上点。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Figure容器的常见属性** \n",
"`Figure.patch`属性Figure的背景矩形 \n",
"`Figure.axes`属性一个Axes实例的列表包括Subplot) \n",
"`Figure.images`属性一个FigureImages patch列表 \n",
"`Figure.lines`属性一个Line2D实例的列表很少使用 \n",
"`Figure.legends`属性一个Figure Legend实例列表不同于Axes.legends) \n",
"`Figure.texts`属性一个Figure Text实例列表 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Axes容器"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`matplotlib.axes.Axes`是matplotlib的核心。大量的用于绘图的`Artist`存放在它内部,并且它有许多辅助方法来创建和添加`Artist`给它自己,而且它也有许多赋值方法来访问和修改这些`Artist`。 \n",
" \n",
"和`Figure`容器类似,`Axes`包含了一个patch属性对于笛卡尔坐标系而言它是一个`Rectangle`;对于极坐标而言,它是一个`Circle`。这个patch属性决定了绘图区域的形状、背景和边框。"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:18.740285Z",
"start_time": "2021-05-23T08:29:18.646261Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"rect = ax.patch # axes的patch是一个Rectangle实例\n",
"rect.set_facecolor('green')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`Axes`有许多方法用于绘图,如`.plot()、.text()、.hist()、.imshow()`等方法用于创建大多数常见的`primitive`(如`Line2DRectangleTextImage`等等)。在`primitives`中已经涉及,不再赘述。 \n",
" \n",
"Subplot就是一个特殊的Axes其实例是位于网格中某个区域的Subplot实例。其实你也可以在任意区域创建Axes通过Figure.add_axes([left,bottom,width,height])来创建一个任意区域的Axes其中left,bottom,width,height都是[0—1]之间的浮点数他们代表了相对于Figure的坐标。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"你不应该直接通过`Axes.lines`和`Axes.patches`列表来添加图表。因为当创建或添加一个对象到图表中时,`Axes`会做许多自动化的工作: \n",
"它会设置Artist中figure和axes的属性同时默认Axes的转换 \n",
"它也会检视Artist中的数据来更新数据结构这样数据范围和呈现方式可以根据作图范围自动调整。 \n",
" \n",
"你也可以使用Axes的辅助方法`.add_line()`和`.add_patch()`方法来直接添加。 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"另外Axes还包含两个最重要的Artist container\n",
"\n",
"`ax.xaxis`XAxis对象的实例用于处理x轴tick以及label的绘制 \n",
"`ax.yaxis`YAxis对象的实例用于处理y轴tick以及label的绘制 \n",
"会在下面章节详细说明。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Axes容器**的常见属性有: \n",
"`artists`: Artist实例列表\n",
"`patch`: Axes所在的矩形实例\n",
"`collections`: Collection实例\n",
"`images`: Axes图像\n",
"`legends`:\t Legend 实例\n",
"`lines`:\t Line2D 实例\n",
"`patches`:\t Patch 实例\n",
"`texts`:\t Text 实例\n",
"`xaxis`:\t matplotlib.axis.XAxis 实例\n",
"`yaxis`:\t matplotlib.axis.YAxis 实例"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. Axis容器"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`matplotlib.axis.Axis`实例处理`tick line`、`grid line`、`tick label`以及`axis label`的绘制,它包括坐标轴上的刻度线、刻度`label`、坐标网格、坐标轴标题。通常你可以独立的配置y轴的左边刻度以及右边的刻度也可以独立地配置x轴的上边刻度以及下边的刻度。\n",
"\n",
"刻度包括主刻度和次刻度它们都是Tick刻度对象。 \n",
" \n",
"`Axis`也存储了用于自适应,平移以及缩放的`data_interval`和`view_interval`。它还有Locator实例和Formatter实例用于控制刻度线的位置以及刻度label。\n",
"\n",
"每个Axis都有一个`label`属性,也有主刻度列表和次刻度列表。这些`ticks`是`axis.XTick`和`axis.YTick`实例,它们包含着`line primitive`以及`text primitive`用来渲染刻度线以及刻度文本。\n",
"\n",
"刻度是动态创建的只有在需要创建的时候才创建比如缩放的时候。Axis也提供了一些辅助方法来获取刻度文本、刻度线位置等等 \n",
"常见的如下:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:18.867939Z",
"start_time": "2021-05-23T08:29:18.741276Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([-0.2, 4.2])"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 不用print直接显示结果\n",
"from IPython.core.interactiveshell import InteractiveShell\n",
"InteractiveShell.ast_node_interactivity = \"all\"\n",
"\n",
"fig, ax = plt.subplots()\n",
"x = range(0,5)\n",
"y = [2,5,7,8,10]\n",
"plt.plot(x, y, '-')\n",
"\n",
"axis = ax.xaxis # axis为X轴对象\n",
"axis.get_ticklocs() # 获取刻度线位置\n",
"axis.get_ticklabels() # 获取刻度label列表(一个Text实例的列表。 可以通过minor=True|False关键字参数控制输出minor还是major的tick label。\n",
"axis.get_ticklines() # 获取刻度线列表(一个Line2D实例的列表。 可以通过minor=True|False关键字参数控制输出minor还是major的tick line。\n",
"axis.get_data_interval()# 获取轴刻度间隔\n",
"axis.get_view_interval()# 获取轴视角(位置)的间隔"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"下面的例子展示了如何调整一些轴和刻度的属性(忽略美观度,仅作调整参考) "
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:18.963976Z",
"start_time": "2021-05-23T08:29:18.868934Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure() # 创建一个新图表\n",
"rect = fig.patch # 矩形实例并将其设为黄色\n",
"rect.set_facecolor('lightgoldenrodyellow')\n",
"\n",
"ax1 = fig.add_axes([0.1, 0.3, 0.4, 0.4]) # 创一个axes对象从(0.1,0.3)的位置开始宽和高都为0.4\n",
"rect = ax1.patch # ax1的矩形设为灰色\n",
"rect.set_facecolor('lightslategray')\n",
"\n",
"\n",
"for label in ax1.xaxis.get_ticklabels(): \n",
" # 调用x轴刻度标签实例是一个text实例\n",
" label.set_color('red') # 颜色\n",
" label.set_rotation(45) # 旋转角度\n",
" label.set_fontsize(16) # 字体大小\n",
"\n",
"for line in ax1.yaxis.get_ticklines():\n",
" # 调用y轴刻度线条实例, 是一个Line2D实例\n",
" line.set_color('green') # 颜色\n",
" line.set_markersize(25) # marker大小\n",
" line.set_markeredgewidth(2)# marker粗细\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Tick容器"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`matplotlib.axis.Tick`是从`Figure`到`Axes`到`Axis`到`Tick`中最末端的容器对象。 \n",
"`Tick`包含了`tick`、`grid line`实例以及对应的`label`。 \n",
" \n",
"所有的这些都可以通过`Tick`的属性获取,常见的`tick`属性有 \n",
"`Tick.tick1line`Line2D实例 \n",
"`Tick.tick2line`Line2D实例 \n",
"`Tick.gridline`Line2D实例 \n",
"`Tick.label1`Text实例 \n",
"`Tick.label2`Text实例 \n",
" \n",
"y轴分为左右两个因此tick1对应左侧的轴tick2对应右侧的轴。 \n",
"x轴分为上下两个因此tick1对应下侧的轴tick2对应上侧的轴。 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"下面的例子展示了如何将Y轴右边轴设为主轴并将标签设置为美元符号且为绿色"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:19.075005Z",
"start_time": "2021-05-23T08:29:18.965966Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x20fd10eb970>]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.plot(100*np.random.rand(20))\n",
"\n",
"# 设置ticker的显示格式\n",
"formatter = matplotlib.ticker.FormatStrFormatter('$%1.2f')\n",
"ax.yaxis.set_major_formatter(formatter)\n",
"\n",
"# 设置ticker的参数右侧为主轴颜色为绿色\n",
"ax.yaxis.set_tick_params(which='major', labelcolor='green',\n",
" labelleft=False, labelright=True)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 思考题\n",
"1. primitives 和 container的区别和联系是什么\n",
"2. 四个容器的联系和区别是么?他们分别控制一张图表的哪些要素?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 绘图题"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. 使用提供的drug数据集画出下面折线图。PA加粗标黄其他为灰色。 \n",
"图标题和横纵坐标轴标题,以及线的文本暂不做要求。 \n",
" \n",
"![](https://img-blog.csdnimg.cn/20210523162430365.png)\n"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2021-05-23T08:29:19.106129Z",
"start_time": "2021-05-23T08:29:19.077010Z"
}
},
"outputs": [],
"source": [
"# 数据导入代码\n",
"# 导入包\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"# 导入数据集并转成方便作图的格式\n",
"Dataset = pd.read_csv('data/Drugs.csv')\n",
"group = Dataset.groupby(['YYYY','State']).agg('sum').reset_index()\n",
"df = group.pivot(index='YYYY', columns='State', values='DrugReports').reset_index()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2.分别用一组长方形柱和填充面积的方式模仿画出下图,函数 y = -1 * (x - 2) * (x - 8) +10 在区间[2,9]的积分面积\n",
"![](https://img-blog.csdnimg.cn/20201126105910781.png)\n",
"![](https://img-blog.csdnimg.cn/20201126105910780.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 参考资料\n",
"[1. matplotlib设计的基本逻辑](https://zhuanlan.zhihu.com/p/32693665) \n",
"[2. matplotlib.artist api](https://matplotlib.org/api/artist_api.html) \n",
"[3. matplotlib官方教程](https://matplotlib.org/tutorials/intermediate/artists.html#sphx-glr-tutorials-intermediate-artists-py) \n",
"[4. AI算法工程师手册](https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.2.333f5abdbabf383d.md) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.0"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {
"height": "calc(100% - 180px)",
"left": "10px",
"top": "150px",
"width": "341.292px"
},
"toc_section_display": true,
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 4
}