{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
-20-1001020255075100
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "\n", "# Download and prepare the data.\n", "climate = pd.read_csv('climate_data.csv')\n", "climate['Average temperature (°C)'] = (climate['Average temperature (°F)']-32)/1.800\n", "climate['Year'] = climate['Date'].str[:4]\n", "climate = climate[climate['Year']=='2020']\n", "\n", "shrimps = pd.read_csv('shrimp-prices.csv')\n", "shrimps['Year'] = shrimps['Month'].str[-4:]\n", "shrimps = shrimps.groupby(['Year']).mean().reset_index(drop=False)\n", "\n", "population = pd.read_csv('population_by_country_2020.csv')\n", "population = population.sort_values(['Density (P/Km²)'], ascending=False)[:10]\n", "\n", "\n", "import toyplot\n", "x = climate['Average temperature (°C)']\n", "y = climate['Average humidity (%)']\n", "canvas = toyplot.Canvas(width=500, height=350)\n", "axes = canvas.cartesian()\n", "mark = axes.scatterplot(x, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 1*\n", "***" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
-20-1001020Temperature, °C255075100Humidity, %Temperature vs. Humidity (Estes Park, 2020)
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "canvas, axes, mark = toyplot.scatterplot(x, y, width=500, height=350,\n", " label='Temperature vs. Humidity (Estes Park, 2020)',\n", " xlabel='Temperature, °C', \n", " ylabel='Humidity, %',\n", " size=10, opacity=0.4,\n", " color='slateblue', marker='s')\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 15" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 2*\n", "***" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
Average humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityAverage humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidityMinimum humidity-20-1001020Temperature, °C0306090Humidity, %Temperature vs. Humidity (Estes Park, 2020)
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y1 = climate['Average humidity (%)']\n", "y2 = climate['Minimum humidity (%)']\n", "canvas = toyplot.Canvas(width=500, height=350)\n", "axes = canvas.cartesian(label='Temperature vs. Humidity (Estes Park, 2020)', \n", " xlabel='Temperature, °C',\n", " ylabel='Humidity, %')\n", "mark = axes.scatterplot(x, y1, \n", " size=10, opacity=0.4, \n", " title='Average humidity')\n", "mark = axes.scatterplot(x, y2, \n", " size=10, opacity=0.4, \n", " title='Minimum humidity')\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 15" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 3*\n", "***" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
-20-1001020Temperature, °C050100Average humidity, %Temperature vs. Average humidity-20-1001020Temperature, °C050100Minimum humidity, %Temperature vs. Minimum humidity
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "canvas = toyplot.Canvas(width=600, height=300)\n", "\n", "axes = canvas.cartesian(grid=(1,2,0),\n", " label='Temperature vs. Average humidity', \n", " xlabel='Temperature, °C',\n", " ylabel='Average humidity, %', \n", " ymin=0, ymax=100)\n", "mark = axes.scatterplot(x, y1, size=10, opacity=0.4)\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 15\n", "\n", "axes = canvas.cartesian(grid=(1,2,1),\n", " label='Temperature vs. Minimum humidity', \n", " xlabel='Temperature, °C',\n", " ylabel='Minimum humidity, %', \n", " ymin=0, ymax=100)\n", "mark = axes.scatterplot(x, y2, size=10, opacity=0.4)\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 15" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 4*\n", "***" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
1990200020102020Year10121518Price, USD/kgShrimp prices by year
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = shrimps['Year']\n", "y = shrimps['Price']\n", "canvas, axes, mark = toyplot.plot(x, y, width=550, height=350,\n", " label='Shrimp prices by year',\n", " xlabel='Year',\n", " ylabel='Price, USD/kg')\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 15" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 5*\n", "***" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
1990200020102020Year10121518Price, USD/kgShrimp prices by year
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "canvas, axes, mark = toyplot.plot(x, y, width=550, height=350,\n", " label='Shrimp prices by year',\n", " xlabel='Year', \n", " ylabel='Price, USD/kg',\n", " style={'stroke':'dodgerblue', \n", " 'stroke-dasharray':'5',\n", " 'stroke-width':'4'})\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 15" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 6*\n", "***" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0510Countries0100002000030000Population density, P/km²TOP10 countries by population density in 2020
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "heights = population['Density (P/Km²)']\n", "canvas, axes, mark = toyplot.bars(heights, width=550, height=350,\n", " label='TOP10 countries by population density in 2020',\n", " xlabel='Countries', \n", " ylabel='Population density, P/km²')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 7*\n", "***" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
0100002000030000Population density, P/km²MonacoMacaoSingaporeHong KongGibraltarBahrainHoly SeeMaldivesMaltaBangladeshTOP10 countries by population density in 2020
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "countries = list(population['Country (or dependency)'])\n", "canvas, axes, mark = toyplot.bars(heights, width=500, height=350, \n", " along='y',\n", " margin=(45,20,45,62), \n", " label='TOP10 countries by population density in 2020', \n", " xlabel='Population density, P/km²')\n", "axes.y.ticks.locator = toyplot.locator.Explicit(labels=countries)\n", "axes.y.ticks.labels.angle = 270\n", "axes.y.ticks.labels.offset = 52\n", "axes.y.spine.show = False" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Fig. 8*" ] } ], "metadata": { "celltoolbar": "Необработанный формат ячейки", "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }