Provides a custom plotting style for matplotlib and other libraries building on it like pandas or seaborn. The plotting style is set to aproximately the styles described in our wiki: https://wiki.cpi.imtek.uni-freiburg.de/ScientificWriting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
1.3 MiB

{
"cells": [
{
"cell_type": "markdown",
"id": "aquatic-principle",
"metadata": {},
"source": [
"# Prettyplots: design your own plots in the interactive mode"
]
},
{
"cell_type": "markdown",
"id": "industrial-casino",
"metadata": {},
"source": [
"### Load the libraries and mock data"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "substantial-underwear",
"metadata": {},
"outputs": [],
"source": [
"import pickle\n",
"\n",
"from matplotlib import pyplot as plt\n",
"import matplotlib as mpl\n",
"import numpy as np\n",
"\n",
"with open('test_data.pkl', 'rb') as f:\n",
" plot_data = pickle.load(f)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def draw():\n",
" for ctr, (k,v) in enumerate(plot_data.items()):\n",
" mean = v\n",
" sem = np.random.random(size=len(mean))*10 + 50\n",
" if k == 'LSTM':\n",
" sem=0\n",
" plt.plot(mean, label=k)\n",
" last_line_color = plt.gca().lines[-1].get_color()\n",
" plt.fill_between(range(len(mean)), mean - sem, mean + sem, alpha=0.5, color=last_line_color)\n",
"\n",
" plt.suptitle(\"Example data\")\n",
" plt.xlabel(\"Frequency [Hz]\")\n",
" plt.ylabel(\"Concentration [µg/ml]\")"
]
},
{
"source": [
"## default styling"
],
"cell_type": "markdown",
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"290.99625pt\" version=\"1.1\" viewBox=\"0 0 388.965625 290.99625\" width=\"388.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2021-05-05T15:46:49.769746</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.2, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 290.99625 \r\nL 388.965625 290.99625 \r\nL 388.965625 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n </g>\r\n <g id=\"axes_1\">\r\n <g id=\"patch_2\">\r\n <path d=\"M 46.965625 253.44 \r\nL 381.765625 253.44 \r\nL 381.765625 36 \r\nL 46.965625 36 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"PolyCollection_1\">\r\n <defs>\r\n <path d=\"M 62.183807 -84.472089 \r\nL 62.183807 -48.911037 \r\nL 62.335989 -50.576402 \r\nL 62.48817 -49.040532 \r\nL 62.640352 -48.100195 \r\nL 62.792534 -49.673149 \r\nL 62.944716 -49.955466 \r\nL 63.096898 -48.970936 \r\nL 63.24908 -50.688687 \r\nL 63.401261 -50.016673 \r\nL 63.553443 -51.149769 \r\nL 63.705625 -48.249389 \r\nL 63.857807 -48.486394 \r\nL 64.009989 -51.061478 \r\nL 64.16217 -51.137763 \r\nL 64.314352 -50.472145 \r\nL 64.466534 -49.0905 \r\nL 64.618716 -51.747325 \r\nL 64.770898 -49.359771 \r\nL 64.92308 -50.618302 \r\nL 65.075261 -50.378969 \r\nL 65.227443 -50.490296 \r\nL 65.379625 -52.002649 \r\nL 65.531807 -50.523036 \r\nL 65.683989 -51.180823 \r\nL 65.83617 -51.582174 \r\nL 65.988352 -52.762721 \r\nL 66.140534 -52.45355 \r\nL 66.292716 -53.625699 \r\nL 66.444898 -53.182149 \r\nL 66.59708 -51.271557 \r\nL 66.749261 -53.345097 \r\nL 66.901443 -54.097007 \r\nL 67.053625 -52.651053 \r\nL 67.205807 -51.688474 \r\nL 67.357989 -53.261974 \r\nL 67.51017 -51.886069 \r\nL 67.662352 -54.586905 \r\nL 67.814534 -53.673924 \r\nL 67.966716 -53.722764 \r\nL 68.118898 -53.106229 \r\nL 68.27108 -52.996135 \r\nL 68.423261 -53.501633 \r\nL 68.575443 -52.58389 \r\nL 68.727625 -51.43451 \r\nL 68.879807 -52.452685 \r\nL 69.031989 -51.033178 \r\nL 69.18417 -54.303498 \r\nL 69.336352 -52.123907 \r\nL 69.488534 -52.734114 \r\nL 69.640716 -51.456559 \r\nL 69.792898 -51.252482 \r\nL 69.94508 -52.311352 \r\nL 70.097261 -51.965828 \r\nL 70.249443 -53.456863 \r\nL 70.401625 -53.316468 \r\nL 70.553807 -52.659784 \r\nL 70.705989 -52.910907 \r\nL 70.85817 -54.724414 \r\nL 71.010352 -52.460953 \r\nL 71.162534 -52.70834 \r\nL 71.314716 -52.296001 \r\nL 71.466898 -54.560385 \r\nL 71.61908 -52.691051 \r\nL 71.771261 -53.092313 \r\nL 71.923443 -55.296461 \r\nL 72.075625 -52.868177 \r\nL 72.227807 -55.211835 \r\nL 72.379989 -53.130397 \r\nL 72.53217 -52.69706 \r\nL 72.684352 -52.072744 \r\nL 72.836534 -54.422415 \r\nL 72.988716 -53.559348 \r\nL 73.140898 -54.490108 \r\nL 73.29308 -52.20819 \r\nL 73.445261 -52.708161 \r\nL 73.597443 -54.179427 \r\nL 73.749625 -53.067391 \r\nL 73.901807 -54.296435 \r\nL 74.053989 -54.942343 \r\nL 74.20617 -52.715177 \r\nL 74.358352 -53.192047 \r\nL 74.510534 -53.850153 \r\nL 74.662716 -54.155041 \r\nL 74.814898 -55.170292 \r\nL 74.96708 -52.922254 \r\nL 75.119261 -52.675002 \r\nL 75.271443 -52.773536 \r\nL 75.423625 -54.710567 \r\nL 75.575807 -54.354431 \r\nL 75.727989 -55.096675 \r\nL 75.88017 -52.290223 \r\nL 76.032352 -52.841802 \r\nL 76.184534 -53.798164 \r\nL 76.336716 -53.559
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"draw()"
]
},
{
"source": [
"## CPI styling"
],
"cell_type": "markdown",
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 1400x800 with 1 Axes>",
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"303.93875pt\" version=\"1.1\" viewBox=\"0 0 483.818438 303.93875\" width=\"483.818438pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2021-05-05T15:46:50.107280</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.2, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 303.93875 \r\nL 483.818438 303.93875 \r\nL 483.818438 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"axes_1\">\r\n <g id=\"patch_2\">\r\n <path d=\"M 68.203438 260.64 \r\nL 458.803438 260.64 \r\nL 458.803438 30.24 \r\nL 68.203438 30.24 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"PolyCollection_1\">\r\n <defs>\r\n <path d=\"M 68.203438 -97.033995 \r\nL 68.203438 -62.567391 \r\nL 68.398738 -60.931619 \r\nL 68.594038 -61.197607 \r\nL 68.789338 -61.599738 \r\nL 68.984638 -63.082123 \r\nL 69.179938 -61.747193 \r\nL 69.375238 -61.326806 \r\nL 69.570538 -61.900508 \r\nL 69.765838 -61.338092 \r\nL 69.961138 -62.581371 \r\nL 70.156438 -63.783413 \r\nL 70.351738 -63.557742 \r\nL 70.547038 -63.225779 \r\nL 70.742338 -62.815732 \r\nL 70.937638 -62.716121 \r\nL 71.132938 -62.166178 \r\nL 71.328238 -63.124799 \r\nL 71.523538 -63.094172 \r\nL 71.718838 -65.137118 \r\nL 71.914138 -63.615009 \r\nL 72.109438 -64.872862 \r\nL 72.304738 -62.883927 \r\nL 72.500038 -64.709341 \r\nL 72.695338 -63.025737 \r\nL 72.890638 -65.235431 \r\nL 73.085938 -64.034313 \r\nL 73.281238 -65.07946 \r\nL 73.476538 -65.783822 \r\nL 73.671838 -64.061632 \r\nL 73.867138 -65.024721 \r\nL 74.062438 -64.148017 \r\nL 74.257738 -65.151834 \r\nL 74.453038 -65.073787 \r\nL 74.648338 -65.212527 \r\nL 74.843638 -67.143423 \r\nL 75.038938 -66.529915 \r\nL 75.234238 -66.71736 \r\nL 75.429538 -65.458038 \r\nL 75.624838 -65.914609 \r\nL 75.820138 -64.923142 \r\nL 76.015438 -64.42148 \r\nL 76.210738 -66.473447 \r\nL 76.406038 -66.618589 \r\nL 76.601338 -66.431856 \r\nL 76.796638 -64.727139 \r\nL 76.991938 -64.963604 \r\nL 77.187238 -64.322305 \r\nL 77.382538 -65.236309 \r\nL 77.577838 -64.349226 \r\nL 77.773138 -64.648356 \r\nL 77.968438 -66.410398 \r\nL 78.163738 -67.501218 \r\nL 78.359038 -68.008657 \r\nL 78.554338 -67.043315 \r\nL 78.749638 -66.868495 \r\nL 78.944938 -66.529818 \r\nL 79.140238 -67.513998 \r\nL 79.335538 -68.031234 \r\nL 79.530838 -65.161972 \r\nL 79.726138 -67.398134 \r\nL 79.921438 -65.812159 \r\nL 80.116738 -67.085117 \r\nL 80.312038 -67.599034 \r\nL 80.507338 -68.272801 \r\nL 80.702638 -65.946071 \r\nL 80.897938 -65.977032 \r\nL 81.093238 -65.706979 \r\nL 81.288538 -66.870135 \r\nL 81.483838 -67.786942 \r\nL 81.679138 -66.286444 \r\nL 81.874438 -65.512366 \r\nL 82.069738 -66.880132 \r\nL 82.265038 -65.951454 \r\nL 82.460338 -65.471634 \r\nL 82.655638 -65.892012 \r\nL 82.850938 -65.890285 \r\nL 83.046238 -65.954112 \r\nL 83.241538 -66.856712 \r\nL 83.436838 -66.09882 \r\nL 83.632138 -66.062602 \r\nL 83.827438 -66.84225 \r\nL 84.022738 -65.851493 \r\nL 84.218038 -67.723818 \r\nL 84.413338 -66.402397 \r\nL 84.608638 -67.584653 \r\nL 84.803938 -66.479718 \r\nL 84.999238 -65.537486 \r\nL 85.194538 -65.971852 \r\nL 85.389838 -65.443435 \r\nL 85.585138 -67.563922 \r\nL 85.780438 -68.132631 \r\nL 85.975738 -66.313421 \r\nL 86.171038 -67.4
"image/png": "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nXg8jl/+8pe44YYboOt6v/rPhffffx8nnHBCyrbLFl3X8cQTT+D0009HQ0PDIIyue958802cf/752LNnT9brhEIh3HDDDfjjH//Y537r6+uxbdu2Pq9vGAb+/Oc/47TTTkuEyh8oli5ding83uf1N2/ejBNPPBELFy4cwFERQgghwwPmACWEEELIsGTOnDl45JFH8I1vfCMxLxKJ4PLLL8eKFStQVFTU7bqhUAiXX345gsFgyvwHH3wQc+fOzWkciqJg9uzZmD17NmbNmoWRI0eiuLgYTqcTnZ2dqKqqwvLly/Hhhx9CVdXEeqqq4hvf+AaOOOIIHHvssTn1mcydd96Jt99+OzE9a9YsXHjhhZg+fTpKSkrQ0tKCjz/+GH//+98RjUYTy2mahhtvvBHbtm2D0+nEl7/8ZezatSvxmU455RSce+65mDBhAnw+H2pra7FgwYI08aalpQXf/OY38dZbb/Vp/Kqq4pJLLkkRBGfMmIFLLrkEhx12GAoLC1FfX48lS5bg7bffThOen376aZSVleHhhx/uU/+58M9//hOXXnppyn4ERDg/66yzcMIJJ2DChAkoKSlBIBBAdXU1PvjgAyxZsiRl+WXLluErX/kKFi9eDLfbPejj/vTTT3HppZciFoulzFcUBSeeeCLOP/98TJgwAS6XCzU1NXjnnXewePFiaJoGALjttttw//33D8hYysrKMHfuXMyaNQuHHXYYiouLUVhYiHA4jObmZmzcuBHvvvtumlC7bNky3HzzzXjppZe6bbuwsBBHHXVUYnrt2rUp748ePbrXHLjjxo3L6nM4nU4ce+yxOOKIIzBz5kyMGDECxcXFMAwDfr8f27dvx2effYZPPvkkRaAPBAK48sorsXr1akyYMCGrvgghhBACMASeEEIIIQeMAxUCn8y1116bNoYrr7yyx3W6hpIDMC655JKs+zzzzDONL37xi8YzzzxjNDY2ZrVOU1OT8a1vfctQFCWl3yOPPDLrfruO2+PxJNqrqKgwXnzxxW7X3bFjh3H44Yenfe7777/f+Na3vpWYPvbYY40VK1Z0286CBQuM/Pz8tHaWLl2a1WfoGoKenEqgtLQ0EXKdidraWuPCCy/MGCadbT7KvobAV1VVGaWlpWlh+HfeeWevx8Dq1auN4447Lm3c3/ve97Lquz9EIhFj5syZaX3PmDHD+OSTT7pdb+3atSlj9vl8fQqB//DDD40xY8YYd911l/H5559nlbJA13XjrbfeMqZPn57W58svv5z1Z++67j333JP1upmYPn26cckllxivvvqq0d7entU61dXVxlVXXZU2lgsuuKBfYyGEEEKGGxRACSGEEHLAOBgE0EAgYMyaNSttHH/4wx8yLv+Xv/wlbdmpU6dmLWgYhpHTsl158skn0/p/5513slo3k3ALwBgzZoyxZcuWXtevqqpKy106YsSIRNGkM844wwgEAr2288wzz6SN4Rvf+EZWn6GrAGn9FRUVGcuWLet1fU3TjH//939PW3/69OlZiWt9FUBPOumklPXy8/ON999/P6t1DUPytJ577rkpbbjdbmPPnj1Zt9EX7r333oy5KJuamnpdNxAIGCeffHLG/ZWtABoMBg1VVfs09tbWVuOYY45J6fOkk07Kev2BFkD7c97/9Kc/TRPtN2/e3K/xEEIIIcM
},
"metadata": {}
}
],
"source": [
"plt.style.use('./cpi.mplstyle')\n",
"draw()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"name": "python385jvsc74a57bd0b3ba2566441a7c06988d0923437866b63cedc61552a5af99d1f4fb67d367b25f",
"display_name": "Python 3.8.5 64-bit ('base': conda)"
},
"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": 5
}