diff --git a/20-concurrency/primes/stats-procs.ipynb b/20-concurrency/primes/stats-procs.ipynb index ce8cae7..96d8f13 100644 --- a/20-concurrency/primes/stats-procs.ipynb +++ b/20-concurrency/primes/stats-procs.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -36,7 +36,7 @@ " 10.94])" ] }, - "execution_count": 1, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -316,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -325,7 +325,7 @@ "10.39" ] }, - "execution_count": 2, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -344,13 +344,15 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", + "import matplotlib.ticker as mticker\n", + "\n", "\n", "df=pd.DataFrame(\n", " {'procs': range(1,21),\n", @@ -359,26 +361,16 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 40, "metadata": { "scrolled": true }, "outputs": [ { "data": { + "image/png": "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\n", "text/plain": [ - "Text(0.5, 0, 'processes')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" + "
" ] }, "metadata": { @@ -388,10 +380,24 @@ } ], "source": [ + "\n", + "fig = plt.figure(figsize = [10,5])\n", + "\n", "plt.plot('procs', 'median', data=df, marker='+')\n", + "plt.axhline(10.39, color = 'red')\n", + "\n", + "\n", + "ax = plt.gca()\n", + "ax.xaxis.set_major_locator(mticker.MultipleLocator(1))\n", + "\n", + "plt.xlabel('processes')\n", "plt.ylim([0, 50])\n", "plt.ylabel('time (s)')\n", - "plt.xlabel('processes')\n" + "\n", + "plt.savefig('figure.png', dpi = 300)\n", + "\n", + "\n", + "\n" ] }, { @@ -405,6 +411,21 @@ "3. Como exibir uma linha horizontal na altura do valor mínimo, que é 10.39?\n" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "para resolver o problema dos ticks usei o\n", + "\n", + "`ax = plt.gca()`\n", + "`ax.xaxis.set_major_locator(mticker.MultipleLocator(1))` \n", + "o MultipleLocator define quais os passos que eu quero dar pela lista, no caso de 1 em 1. A única coisa necessária aqui é importar o mticker do matplotlib.\n", + "\n", + "Para o tamanho da figura `fig = plt.figure(figsize = [10,5])` funciona bem, mas existem métodos mais robustos. \n", + "\n", + "para a linha horizontal usei o `plt.axhline(10.39, color = 'red')`" + ] + }, { "cell_type": "code", "execution_count": null, @@ -429,7 +450,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.3" + "version": "3.8.5" } }, "nbformat": 4,