{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating a graph of a Home Assistant sensor\n", "This notebook contains a simple example that creates a graph with data stored by Home Assistant in the local database. For a introduction to [matplotlib](http://matplotlib.org/) check the [matplotlib - 2D and 3D plotting in Python](http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb) notebook." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "# matplotlib for plotting the data\n", "%pylab inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Instead of SQLAlchemy is the built-in Python support for SQLite used.\n", "import sqlite3\n", "import datetime\n", "\n", "from matplotlib import dates" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "conn = sqlite3.connect('/path/to/.homeassistant/home-assistant_v2.db')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Query" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "data = conn.execute(\"SELECT state, last_changed FROM states WHERE entity_id = 'sensor.random' AND state != 'unknown'\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Prepare data for graph" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "values = []\n", "timestamps = []" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "for x in data:\n", " timestamps.append(dates.date2num(datetime.datetime.strptime(x[1], '%Y-%m-%d %H:%M:%S.%f')))\n", " values.append(float(x[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the graph" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAEKCAYAAADTgGjXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXmYFOXxxz/FfQvCAiuIROOFGo8sGP0ZxeABRMUDoyTR\niCGoSVTiEdFERRNjIiYaxURRCHjfB0YQ8L6icSEaFQ9EAUEEBQRRORbq98fbk22Gntk5uqd7Zuvz\nPPNsT0/P27Vz9Heq6n2rRFUxDMMwjEJoErcBhmEYRvliImIYhmEUjImIYRiGUTAmIoZhGEbBmIgY\nhmEYBWMiYhiGYRSMiYhhGIZRMCYihmEYRsGYiBiGYRgF0yxuA8KkS5cu2rt377jNMAzDKBtmzZr1\nmapWFfr8ihKR3r17U1tbG7cZhmEYZYOILCjm+RbOMgzDMArGRMQwDMMoGBMRwzAMo2BMRAzDMIyC\nMRExDMMwCiYyERGRbUXkaRGZIyJvicjZ3v6tRWSmiMz1/nbK8PyfeMfMFZGfRGWnYRiGUThReiJ1\nwLmq2gf4DvALEekDjAaeVNUdgSe9+5shIlsDlwL7Av2ASzOJjWEYhhEfkYmIqi5R1dne9hfA20AP\nYAgw2TtsMnB0wNMPB2aq6gpVXQnMBAZGZSsDB8Lvf7/5vvnzYfr0yE5p+Hj5ZXjtNbe9bh20aAEi\nuT33P/9xzxdxt1atCrPhySdh7tz6+6puvB/+sH7sG26o3166NHicXXetPybodsYZ2e1IHffqq/Dl\nl267fXtnTzrLlrnH77wTNm4s7P82yp+f/QxOOy2200speqyLSG/gOWB3YKGqdvT2C7Aydd93/HlA\nK1X9vXf/YuBrVb06YOyRwEiAXr16fXvBggLWzaQuWP7XokUL2LAh+MtrhIv/9T/zTBg3zt3/6CPo\n2TO35/pZsQI65em4pn8G7rkHTjwx+3PSPxtr1rgLfkNk+kx99RW0bVt/v00btw9g0iT4SVpU1/+/\nb7stnHKKu22/fcM2GJVD0PUrr6fLLFWtKfT0kSfWRaQd8AAwSlVX+x9Tp2BFXaVVdbyq1qhqTVVV\nwSv3t2TDhvDGMnJn8eL67XXrChujrq54Oz79NP/nFOsNpD8/JSAACxdmf+5uuzlveocd4Hvfg9tv\n3/z5hhERkYqIiDTHCcgdqvqgt3upiFR7j1cDywKeuhjY1ne/p7fPMBonn3+e/fFp02DBAickCxbA\nSSdBdTWcfjr8+9/mURuREeXsLAEmAG+r6l98D00BUn75T4BHAp4+HThMRDp5CfXDvH2GURpyzcmU\nioZEBFxI6ze/cbmdZ56Bo4+GW2+FffeFPfaAv/ylMA/LMLIQpSfyf8BJwPdE5DXvNhj4I3CoiMwF\nDvHuIyI1InILgKquAH4HvOrdLvf2GUbjZOXK3I9t0gQOOggmT4ZPPoHx412u5txzYZtt4Ljj4J//\nDCfsZzR6Iqviq6ovAJl+zg0IOL4WGOG7PxGYGI11RmJJmgeQFHLxRILo0MHN3vnZz2DOHPjHP5x3\n8uCDLtx18skwfDjsvHO49hqNBluxbhhBJE3MChURP336wNixsGgRPPww9O0LV18Nu+wCBxwAEye6\nGWaGkQcmIoYRRBwiki35nU84qyGaN4chQ+CRR5ygXHUVfPYZ/PSn0L27+/vii5aMN3LCRMQwgqhE\nTySI7t3h/PPh7bfhpZdg2DC4917nmeyyC/zpT7BkSTTnNioCExEjWTz/fPFjJH319qZN+T8nKhFJ\nIQL77Qc33+yS8ZMmOYEZPdrN+jrySHjoIVi/Plo7jLLDRMRIFmFMQX3jjeLHiJKnnorbguy0betW\nxz/7LLz3HlxwAcyeDcce6yoInHsuvPVW3FYaCcFExKg8wvi1HGU4q5yqIey4I1xxhVvA+NhjcOCB\ncP31sPvubv3JTTfBqlVxW2nEiImIUXlYyCV8mjWDwYPh/vtdaZprroGvv3Yr4rt3dyvkn366sFCd\nUdaYiBiVR6E1t5JOUnI9VVUwahS8/rqrNjx8ODz6qKvZ9c1vwu9+13CtL6NiMBExKo+kh7MKJWlh\nIxGoqYG//c3N4LrjDldB+JJLoHdvOPxwVw157dq4LTUixETEqDziEpFihaehdRlRz9AqhtatXe+V\nJ56ADz90QvLOO66c/jbbuBL///lP3FYaEWAiYlQeleqJJFlE/PTuDWPGODGZOdM1fbv5ZthnH9h7\nb5eYX748biuNkDARMSqPuBLrxa7wbki4ykVEUjRpAocc4jovLlniOkM2bQpnneW8kxNOcN1Dk5Lr\nMQrCRMSoPCo1sR5m6ZNS06kT/PznUFvrWiGfcYZrSTxwoPNcLr4YPvggbiuNAjARMZLD11+HM05c\n4ayop7eWmyeSiT33hGuvdVOF77vP9Tr5wx9cV8aDD4bbbrOujGWEiYiRHG6/ffP7hYaH4gpnRZ04\nrhQRSdGyJQwdClOnusWMV1wBH33kytNXV8Npp8Err1ghyIQTZWfDiSKyTETe9O27x9egar6IvJbh\nufNF5A3vuNqobDQSRvqv/zhFJImJ9XIOZzVEz55w0UWuK+Ozz7qujLfdBt/5jlsd/+c/w7KgTtpG\n3ETpiUwCBvp3qOoJqrqXqu6F673+YNATPQ72jq2J0EYjSTRtGs445Soi5TzFNyxEXGkVf1fGDh3g\nvPOgRw845hjrypgwIhMRVX0OCGxp6/Vf/wFwV1TnN8qQJiF9HCs1sd4YRMRPqivjv/7lCj6OGuXK\n1R95pKssPHo0vPtu3FY2euLKiXwXWKqqczM8rsAMEZklIiNLaJcRJ43dE2mIxiYiftK7Mvbrt2VX\nxi++iNvKRklcIjKM7F7IAaq6DzAI+IWIHJjpQBEZKSK1IlL7aRhlxI34CMsTqdQCjJWcE8mVoK6M\ny5e7bozV1XDqqfDCC5aMLyElFxERaQYcC9yT6RhVXez9XQY8BPTLcux4Va1R1ZqqqqqwzTVKSZI8\nkSTSmD2RIFJdGefMqe/KeN998N3vws47wx//CB9/HLeVFU8cnsghwDuquijoQRFpKyLtU9vAYcCb\nQccaFUaSRMTCWeVDUFfG6mq48EKXOzniCHjwwcr9cREzUU7xvQv4F7CziCwSkZ96D51IWihLRLYR\nkane3W7ACyLyOvBv4DFVfTwqO40EUe6J9SiFp317C2flQnpXxtGj3fqd445zs7vOOQfetN+kYRLl\n7Kxhqlqtqs1VtaeqTvD2n6KqN6Yd+7GqDva2P1DVPb3bbqp6RVQ2Ggkj3RMpNK69YgUcdhjMm1e4\nLVEKQiG1otq1cyv6K3XmWRSkujIuXOgWNPbvD+PGuRXy/frBjTeadxcCtmLdSA5heSJz57rqsc89\nF854YbMicOZ7dtFM9eRIWk+RcqBpUxg0yOVLPv7YlVxZu9bV76quhh//2PW9t66MBWEiYiSHsHMi\nlTRbr2NH99d+ORdHly5w9tmuK2NtrZvN9c9/woABrnbX5Ze7EixGzpiIGMkhSSKStMR6SkQsLxIO\nIvDtb7vy9EuWuHL13/wmXHopfOMbLhx6993WlTEHTESM5BD2OpFKqrXUqZP7a55I+LRu7aYHz5xZ\n35Xx3Xfdvupq+OUvYfZsW3uSARMRIzmE5YmkvuzlFs7K5v2YiJSG9K6MgwbBLbc4r2XvveG666wr\nYxomIkZyCMsTSVFqEYnyl6qFs0pLUFfGZs1cPmWbbeAHP4DHH7eujJiIGEkiSSKS1JyIeSKlJ6gr\n41NPOS+ld2/47W+Lm05e5piIGMmhsYtINk+mdWvXxMlEJF6CujJeeaVLyvfvD7feCl9+GbeVJcVE\nxEgOYeVEUnz1VWV9oTt2NBFJCkFdGRctcqvlq6th5Eh4+eVGkYw3ETGSQ1gr1v0U6o1E6YkU+n91\n7Gg5kSSS3pXx2GPhjjtcPa/ddnMl65cujdvKyDARMZJDWO1x/ZTbDK1smCeSbFJdGSdNcsn4m292\n79n55zuhOeYYePTRiuvKaCJiVDaVJCKdOpmIlAsdOsCIEa5E/Zw58Ktfue2jjnKVhX/9a3jnnbit\nDAUTEaOyKWU4K+pkvIWzypNdd3XNsxYtcs209t0X/vIXt3///WHChLLuymgiYlQ2leSJWDirvGne\n3HkiDz/sBGXsWPejYMQI12Br+HB4/vmyS8abiPgpszfPyIFCS58kbZ0I1Iez7HNa/nTvDuedV9+V\n8Uc/ggcecDmVnXZy04YXL47bypwwEfGzYUPcFhhhk8TZWZnIJg4izhPZsMH1FTEqg1RXxvHjXTJ+\n0iS3Iv6ii6BXL/j+9524JLgrY5SdDSeKyDIRedO3b4yILBaR17zb4AzPHSgi74rI+yIyOiobt8C+\nnJVHpYSzUiIClhepVIK6Mr72mluP0qOHS86/8UbcVm5BlJ7IJGBgwP5rVHUv7zY1/UERaQrcAAwC\n+gDDRKRPhHbW89VXJTmNUULKyRPJhqqVPmlMBHVlvOEG+Na3oG9f+PvfE/M5iLI97nNAhhZuWekH\nvO+1yV0P3A0MCdW4TJgnUlm0alU5nghYJd/GSFBXxnXrXC2v6mqXS4mZOHIivxSR/3rhrk4Bj/cA\nPvLdX+Ttix7zRJJFsQnkqqrK6ili4azGTVBXxscei9uqkovI34EdgL2AJcCfix1QREaKSK2I1H5a\n7K9O80Qqi6oqVzurkPc1jnBWQ+e0cJYBW3ZljJmSioiqLlXVjaq6CbgZF7pKZzGwre9+T29fpjHH\nq2qNqtZUVVUVZ6B5IvES9tTV1OehkB8XScuJgImIsSWtW8dtQWlFRESqfXePAd4MOOxVYEcR+YaI\ntABOBKaUwj7zRCqMrl3d31KJSLEi2NDzTUSMBNIsqoFF5C6gP9BFRBYBlwL9RWQvQIH5wGnesdsA\nt6jqYFWtE5FfAtOBpsBEVX0rKjs3w0SksijGE4mSQr2c5s3dNFDLiRgJIjIRUdVhAbsnZDj2Y2Cw\n7/5UYIvpv5Fj4azKIiUilZZcN0/ESBC2Yt2PeSKVRaXlRMAq+RqJw0TEj3kilcVWW7kQUKnCWaUQ\nHqvkayQMExE/5olUFiLOG6kkT8TCWUbCMBHxY55I5VGoiCQVExEjYZiI+DFPJFmEcbEsVES22qr4\nc0eB5USMhGEi4sdEJFmsWlX8GIWWPuncufhz50tDpeCh3hPZtKk0NhlGA5iI+LFwVuVRieEs1bJu\np2pUFiYifswTqTyqqtwFd926uC0JB6vkayQMExE/5olUHsWUPkkiVsnXSBgmIn7ME6k8klr6pFCs\nfpaRMExE/JgnUnlUSumTVNLdRMRIGCYifswTqTwqzROxnIiRMExE/JiIxEvY/USgvEQk1ym+YDkR\nIzGYiPixcFbl0bEjNGtWHiKSjZSIdOjgts0TMRKCiYgf80RKz5NPZn4sDM+kSRPXm7pSRKRJEyck\nJiJGQjAR8WOeSGmZPh2OOCL68xS6aj2pdOpk4SwjMUQmIiIyUUSWicibvn1jReQdEfmviDwkIh0z\nPHe+iLwhIq+JSG1UNm6BeSKlY+pUOOoo2GWX6M9ViavWzRMxEkKUnsgkYGDavpnA7qr6LeA94MIs\nzz9YVfdS1ZqI7NuSujrYsKFkp2u0TJkCRx8Ne+yRPZwVFiYihhEZkYmIqj4HrEjbN0NV67y7LwM9\nozp/wZg3Ei0PPADHHQd77w1PPAFbbx39Obt2zV9EktpPBKySr5Eo4syJnApMy/CYAjNEZJaIjMw2\niIiMFJFaEan9NIxfm5YXiY577oETToC+fWHGjPrpqlFTVeUqAq9fX5rzRY11NzQSRCwiIiK/AeqA\nOzIccoCq7gMMAn4hIgdmGktVx6tqjarWVKXWBBSDeSLRcMcd8MMfwv77u4R6Kft1pD4Xn31WunMW\nQq6z0SycZSSIkouIiJwCHAH8SDX4W6Oqi72/y4CHgH4lM9BEJHwmT4aTToIDD4Rp06B9+9Kev1JK\nn6To2BHWrInbCsMASiwiIjIQ+DVwlKoGxo1EpK2ItE9tA4cBbwYdGwkWzgqXCRNg+HAYMAAeewza\nti29DUlbtV5sviVV+sQwEkCUU3zvAv4F7Cwii0Tkp8A4oD0w05u+e6N37DYiMtV7ajfgBRF5Hfg3\n8JiqPh6VnVtgnkh43HgjjBgBhx/uZmS1aROPHUkTkULwC0+pckmGkQPNohpYVYcF7J6Q4diPgcHe\n9gfAnlHZ1SDmiYTDuHFw5pnw/e/D/fdDq1b5j7F2bTi2VGpPEcNIAJGJSNlinkjxXHMNnHMODBkC\n994LLVpkP75fv+CpvmHlMDp1gqZN8xOROKb45npOC2cZCcLKnqRjnkhxXHWVE5ChQ+G++xoWkGyE\nJSJNmkDnzpWVWDeMhGAiko55IoVzxRVwwQVw4olw113QvHlx4y1dGo5dkKxV65mm8mab4ut/zETE\nSBAmIumYiOSPKowZA7/9Lfz4x3Dbba78eiHj+KlUESkWExEjQeQlIiLSREQ6RGVMIrBwVn6oOvG4\n7DI45RSYNKkwAQkiTBEppPRJUmnb1oXoDCMBNPhJFJE7RaSDt2bjTWCOiJwfvWkxYZ5I7qi68NUf\n/gA/+5lbE9K0aXjjh5nDqCRPRMS8ESMx5PJzpo+qrgaOxtW6+gZwUqRWxUXLluaJ5IqqS6CPHQtn\nnOHWhIT96zjscNbKlZVTpdlExEgIuXzrm4tIc5yITFHVDbgCiZVH69bmieSCKpx1Flx7rft7ww3R\nhFfCrA+Vb/2spFXxTbfHRMRICLl8828C5gNtgedEZDtgdZRGxUabNuaJNMSmTc7zGDcOzj3XCUnS\nLrhBlGLVehjtfHPF1ooYCaFBEVHV61S1h6oOVscC4OAS2FZ6zBPJzqZNMHIk3HQTjB7tQllhCUim\nC/CmTeGMb6vWDSMSckmsdxORCSIyzbvfB/hJ5JbFQZs2JiKZ2LjRFVKcMAEuvtgl08MSkGzjLF+e\n/3hB61PKoX5WNk/GwllGQsklnDUJmA5s491/DxgVlUGx0rq1hbOCqKuDk0+GW2+Fyy93t1KFsApJ\nrgetki8HEckHExEjIeQiIl1U9V5gE4DX3nZjpFbFhXkiW7Jhg2smdeedcOWVzgspJYWISMuWW+7b\nemsnfFb6xDBCJRcR+VJEOuPNyBKR7wCrIrUqLswT2Zz161072/vug6uvdnmQUlPIRT/IE2na1NXP\nMk/EMEIll6XF5wBTgB1E5EWgChgaqVVxYZ5IPevWwfHHw6OPuhlYZ58djx1hhbOgshYcmogYCSGX\n2VmzgYOA/YHTgN1U9b+5DC4iE0VkmYi86du3tYjMFJG53t/AuYoi8hPvmLkiUppEvnkijrVr4dhj\nnYDccEN8AgLhhbMgv9InSZ+2bFN8jYSQy+ysk4EfAt8G9gGGeftyYRIwMG3faOBJVd0ReNK7n37O\nrYFLgX1x/dUvzSQ2oWJTfN3/P2QITJ3qpvL+/Ofx2mOeiMNmZxkJJZdwVl/fditgADAbuLWhJ6rq\ncyLSO233EKC/tz0ZeAa4IO2Yw4GZqroCQERm4sTorhzsLZzGvtjwyy/hqKPg6adh4kQ3pTduCsmJ\nZPJEqqqSnVjPZ7GiiYiREBoUEVU9039fRDoCdxdxzm6qusTb/gTXUz2dHsBHvvuLvH3R0pg9kTVr\nXCvbF16AyZPhpASUR+vcOXxPZMUKN2U5rErDcWHhLCMhFPJN+hJXhLFoVFVFpKhaESIyEhgJ0KtX\nr+IMatPGTWmtqytunHJj9WoYPBhefhluvx2GDYvHjvSe6lVVhYnITju55/btu/n+1FqR5cuhW9Bv\nFx+lLGFSCK1bx22BYQC55UQeFZEp3u2fwLvAQ0Wcc6mIVHtjVwNB8YXFwLa++z29fVugquNVtUZV\na6pSF4lCSX0xG5M3smoVHH44vPIK3H13fAICrsqun+7dnYjke0Fv2xamTIH0HxVJKX2S9KS9YeRB\nLp7I1b7tOmCBqi4q4pxTcGVT/uj9fSTgmOnAH3zJ9MOAC4s4Z260aeP+NhYRWbkSDjsMXn/drQU5\n+uh47Umv2tutm1ursno1bLVV8eNX2qp1w0gAueREni10cBG5C5dE7yIii3Azrv4I3CsiPwUWAD/w\njq0BTlfVEaq6QkR+B7zqDXV5KskeKSlPpDEk15cvh0MOgTlz4MEH4Ygj4rZoS08kFXJaujRcEckl\nuW7egmHkREYREZEvCO4bIrh0RoNtclU1U2xkQMCxtcAI3/2JwMSGzhEqjSWc9emnMGAAvPcePPII\nDEyfhR0T6Z5IKvy0dKnLcxSLeSKGEToZRURV25fSkESQCmdVsieydKkTkHnz3GLCQw+N26J6snki\n+ZAph9K5s/trImIYoZHz7CwR6YpbJwKAqi6MxKI4qXRPZMkS+N73YOFCt5jw4IS1hQnKiUB4azua\nNYu2flauEwAyhcryKQVvGAkhl9lZR4nIXOBD4Flcl8NpEdsVD5WcWF+0CA46CD76CKZNS56AwJae\nSJcu7uIZdq/1SvBEkj4F2Wg05FLF93fAd4D3VPUbuHzGy5FaFReVmlhfuNAJyCefwIwZcOCBcVsU\nTLon0rSpExITEcNILLmIyAZVXQ40EZEmqvo0UBOxXfFQiZ7I/PlOQJYvh5kzYf/947YoM+meiKoL\naYUtIkkufWIYZUYuIvK5iLQDngfuEJG/4latVx6V5onMm+e8jlWr4MknYd9947YoO+meCDgRCfOi\nH6YnsmRJw8fkg+U9jDIko4iIyA0icgCuYOJXuJa4jwPzgCNLY16JqSRP5L33nAfy1Vfw1FPw7W/H\nbVHDZBKRsD2R5ctdz/hiOfXUwnITJhZGBZHNE3kPGAu8hVsguIeqTlbV67zwVuVRKZ7I2287AVm/\n3lXk3WuvuC1qmPXrg1/3rl3DFZGuXd2Ff0UIa1cffxz+9rfix8kFEx4joWQUEVX9q6ruh2tItRyY\nKCLviMglIhLCyq8EUglTfN98E/r3dxfKZ56BPfaI26LcCPJCwHkia9bkJ+zZLrhhLjgcOBDOOw/e\neaf4scBmXBllSS6dDReo6p9UdW9gGHAM8HbklsVB06aujHi5eiKvv+6m7jZt6gSkT5+4Lcqd9KR6\nirDXiuRT+qQhJk50xR5//GPnSZUSExwjIeSyTqSZiBwpInfg1oe8CxwbuWVxUa49RWbPdgsJW7WC\nZ5+FXXaJ26L8yOaJQHghrTA9kepqGD8eZs2Cyy8vfrxsWDjLSCjZamcdivM8BgP/xjWiGqmqlTkz\nK0WbNuUnIq++6qrxdujgciDbbx+3RfmTSUT89bPCIOz6WcceC6ecAldembmjYjomCEYFkc0TuRB4\nCdhVVY9S1TsrXkDAeSLlFM56+WVXjbdTJ+eBlKOAZCNsT6RLF/c3zAWHf/2r611yySXhjWkYZUK2\nxPr3VPUWVc0QrK5QyskTefFF54FUVTkB6d07bovCJ+WJ5JPDyJYvaN7cCW6YItKhA9x2W3jjGUYZ\nkctiw8ZFuXgizz7rOhJWV7vtbbdt+DnlSMuW0LFj8letH3AA9OsX7piGUQaYiKRTDon1J5+EQYNc\nCOXZZ6FHj7gtCodWrYL3h71WJKr6WaefHv6YhpFwSi4iIrKziLzmu60WkVFpx/QXkVW+Y0oXbG7T\nJtmeyPTprgvhDju4abzdu8dtUXh07Bi8P4pV61GISK4J80JKwRtGQsm5n0hYqOq7wF4AItIUWAw8\nFHDo86pa+p6tSfZEpk6FY46BXXeFJ56oTxJXCp06uUrD6XTrBm+9Fd55unaFl14Kb7w4MMExEkLc\n4awBwDxVXRCzHfUkNbE+ZQocfTTsvrurhVVpAgKZPZEowlnLl8OmTeGNaRiNlLhF5ETgrgyP7Sci\nr4vINBHZrWQWJTGx/uCDcNxxrgbWE0/A1lvHbVE0dOoUvL9bN1frasOGcM5TVeUKMGZaJV8oUXoH\ntrbESCixiYiItACOAu4LeHg2sJ2q7glcDzycZZyRIlIrIrWfhhHnTponcu+98IMfQN++rh9Ipgtt\nJZAtJwLJLH1iGI2cOD2RQcBsVd0iTqGqq1V1jbc9FWguIoHxG1Udr6o1qlpTlbo4FEOSPJE774Rh\nw2C//VxCfaut4rYoWrJ5IhC+iFiHQ8MomjhFZBgZQlki0l3E+e8i0g9nZ2nKz7dpU/piekHceiuc\ndJJrKjVtGrRvH7dF0ZEKA2XLiUByS5/ki4WmjAqi5LOzAESkLXAocJpv3+kAqnojMBQ4Q0TqgK+B\nE1VLNB0lVQ4+TiZOhBEjYMAAeOSR+mZZlcoXX7i/DXkiYYlISpSS5onYjCujDIlFRLwaXJ3T9t3o\n2x4HjCu1XUD8InLTTW7R2sCBLqEetz2lIFV8saGcSK4i0tDFOIr6WYbRSIl7dlbyiPNX/7hxTkC+\n/3146KHGISBQP0sqkyfSrp17X3LNiTQULmrRwuWXwk6sW5jKaISYiKQT14X7mmvgzDNhyBDngWQq\nAVKJrF3r/mbyRCC/tSK5hIWiWrVuGI0ME5F04vBErroKzjnHrQW57z73S7kxkk1EyqX0SS6Yx2JU\nECYi6ZTaE7niCrjgAjjhBLjrLleqvLGSbQ1M2CLStWt2EUlaktuEx0goJiLplMoTUYXLLoPf/hZ+\n9CO4/fbGLSCwpSfiv3B26xZuDqPcwlkmIkZCMRFJpxSeiCpcfDGMGeNaq06eDM1imSiXLLItpkx5\nDmHVu0qJiNXPMoyiMBFJJ2oRUYXRo10Ya8QImDABmjaN9pzlQpMsH8du3Vy9q+U5rDnN5Vd7qn5W\npt7ucZC0EJph5ICJSDpRhrNU4dxzXSL9jDPcmpBsF06jHit9sjkmOEZCsCtYOlF5Iqpw1lluKu9Z\nZ8ENN5iA5ENjWbVuGGWGXcXSicIT2bTJeR7jxjlP5NprLVGaL/nUz8o1nAUmIoZRJCYi6YTtiWza\nBCNHutDV6NEwdqwJSCGE7YlEISLFvq/2uTDKEBORdJo1C2+q7caNMHy4S55ffDH84Q92oSiUTp3c\n+5JLTiQfTyTMacOWpzAaISYiQYThjdTVwcknu5Lul10Gl19uAlIMIuG2yW3Z0pXXT/dEbMqvYeSF\niUgQxeb6OpEtAAASqElEQVRFNmxwCwjvvNN5H5dcEo5djZ0oeq2ni0iY4+dLNk/GfoAYCcVEJIhi\nPJH16+HEE11b27Fj4cILw7OrsZNr6ZNcL7hBpU8WLMjfrhSlDGdZ6MxICCYiQRQqIuvWwfHHuyq8\n11wD550Xrl2NnVxLn+R6gQ3yRBYuzN8uw2jExCYiIjJfRN4QkddEpDbgcRGR60TkfRH5r4jsUzLj\nCglnrV0Lxx4LU6a4qbyjRoVvV2Mn5YmE9Su8qmpLUTIRMYy8iLtg08Gq+lmGxwYBO3q3fYG/e3+j\nJ19P5Ouv4eijYcYMN5V35Mho7GrsdO3qvL3Vq7PX2co1nFVVBZ99trkoFRPOMoxGSJLDWUOAW9Xx\nMtBRRKpLcuZ8PJEvv4QjjoCZM11vdBOQ6IhirciGDbBqVf0+80QMIy/iFBEFZojILBEJuvL2AD7y\n3V/k7dsMERkpIrUiUvtpWAvHcvVE1qyBwYPhmWdcJd7hw8M5v+FID1uFXT8rqPRJMZ5I9+7F2WMY\nZUicInKAqu6DC1v9QkQOLGQQVR2vqjWqWlOVWkBWLLl4IqtXw8CB8OKLrhfISSeFc24jM7l6IvmE\ns2BzESnGE9l228KfaxhlSmwioqqLvb/LgIeAfmmHLAb838qe3r7oacgTWbUKDj8cXnnFdSMcNqwk\nZjV68qmflQtBq9ZXroQvvghn/HzJZ8KATfE1EkIsIiIibUWkfWobOAx4M+2wKcDJ3iyt7wCrVHVJ\nSQzMJiIrV8Ihh8CsWW4tyPHHl8QkA+jSxXkZUXoikMy8iC02NBJKXLOzugEPiftiNAPuVNXHReR0\nAFW9EZgKDAbeB74CSpdwyBTOWr4cDj0U3noLHngAjjyyZCYZuLpmXbpE31Nk4UILTRlGjsQiIqr6\nAbBnwP4bfdsK/KKUdv2PIE/k00+dB/Luu/DwwzBoUOntMsItfdK6NbRrF7xq3UTEMHIi7nUiySTd\nE1m6FAYMgHnz3GLCww6Lxy4jt9In+YR+0letN2uWzHCWYSSUJK8TiQ+/J7JkCfTvDx9+CI89ZgIS\nN7nWz8qVdBHp2TOZImI5ESOhmCcShN8T6d8fFi+GadPgwIJmIRthkmv9rFypqnLvb4pevWzVumHk\ngXkiQaR7IjNmmIAkha5d3RTcr78OZ7x0T2S77eLzRGzarlGGmIgE4fdEZs6E/fePz5bGTOfOW+6L\novSJX0R69XKeSV1d/mOVUgTaty/duQwjCyYiQaQ8kTZtYN/S1Hw0AujQYct9YYtI166uB0yK7bZz\nbY0//jic8aOi2MZphhESJiJBpESkbdt47TC2JJf6WfnOzvLTq5f7m7TkuiXWjYRiIhKE/cpLLlGV\nPkmREhFLrhtGTpiIBFFMe1wjWnIRkUr0RAwjoZiIBGGeSHJp1co1pIrKE2nb1iX0CxERm11lNEJM\nRIIwTyTZhLlWJKh9wHbbWTjLMHLERCQI80SSQaawVEP1s/IJZ7Vtu+X7nZrmW2rMkzHKEBORIMwT\nSTZRlD7x06sXbNoU3viGUcGYiATRvDk0bRq3FUYmohaR7bYLb2zDqHBMRDJhIa3k0q0brFgBGzYE\nP57vmopMM7TyxcJRRiPERCQTFtJKLqlpvul9QIodL0USPRFbbGgklJKLiIhsKyJPi8gcEXlLRM4O\nOKa/iKwSkde82yWlttM8kQQTRf0sP4V6IobRCImjFHwdcK6qzvb6rM8SkZmqOiftuOdV9YgY7HO0\nbg1ffhnb6Y0sRC0iVVXQsiWsWxfO+IZRwZTcE1HVJao629v+Angb6FFqOxrEPJHkkkv9rHxIF5Em\nTeLxRiynYpQhseZERKQ3sDfwSsDD+4nI6yIyTUR2yzLGSBGpFZHaT8OKkYPlRJJM1PWzoDARMREw\nGiGxiYiItAMeAEap6uq0h2cD26nqnsD1wMOZxlHV8apao6o1VUEXg0IxTyS5tGvnRD6TiBQ7OwuS\nmVw3jAQSi4iISHOcgNyhqg+mP66qq1V1jbc9FWguIl1KaqR5IslFJNy1Iumzs8CS64aRI3HMzhJg\nAvC2qv4lwzHdveMQkX44O5eXzkpMRJJOtvpZYXgiJiKGkRNxzM76P+Ak4A0Rec3bdxHQC0BVbwSG\nAmeISB3wNXCiaokDzhbOSjZdu4ZXrj2o+VjSwlm2TsRIKCUXEVV9Acj6jVDVccC40liUgQED7Itb\nKoYPD26Fm41u3eDVV8M5f9D7vPfe+Y9jiXWjERKHJ1Ie/PCH7mZEz8SJ+T+nW7fMK9bDEP9OnYof\nIxNWl82oIKzsiVGedOsGGzfGbUVhZBIR82SMMsRExChPgmZUlQtN7GtnVA72aTbKk9Sq9SCSnssy\nETEqCPs0G+VJNhGJi1zDUSYiRgVhn2ajPCnncJYl1o0KwkTEKE86dYJmZTq50DwRo4KwT7NRnjRp\nUr7eiImIUUHYp9koXzLlRco1sW79S4wypEzjAYZBZk9kyJD8x7roIujbN/fj//SnLffl6mFss82W\n++rq4MwzMz9nt4zdEAwjVkxEjPIlkydSSN2zK67I7/gjj8z/HCmCxOacc2DGjMzPKdf8j1HxWDjL\nKF/KNZyVzk03wfXXOyExjDLDRMQoX5K4ViRfnnoKfvlLGDwYrroqbmsMI29MRIzyJWmzs/KtfTV3\nLgwdCjvtBHfdZetHjLLERMQoX8o5nPX55y6v0qQJPPpo/qXwDSMhxNUed6CIvCsi74vI6IDHW4rI\nPd7jr4hI79JbaSSecg1n1dXBCSfAvHnwwAOw/fZxW2QYBRNHe9ymwA3AIKAPMExE+qQd9lNgpap+\nE7gGCJhPaTR6ylVEzj/fzcT6+9/hoIPitsYwiiIOT6Qf8L6qfqCq64G7gfSJ/UOAyd72/cCAVM91\nw/gfXboE70/6R2XqVBg1CkaMiNsSwyiaOESkB/CR7/4ib1/gMapaB6wCOpfEOqN8yLR2ohQiEnSO\nXBPjAwfC2LH5nc9KpRgJpew/mSIyUkRqRaT200ztUhti2jS4995wDTMKo7a2fruqquHjjzkGzjpr\n83190qOjEbDzzlvu22OP3J57992ZBXCrrdzfKVNg2bL6/d/97pbHLlrk/s6aldt5jcpk6FD41a9i\nO71oiVtyish+wBhVPdy7fyGAql7pO2a6d8y/RKQZ8AlQpQ0YW1NTo7X+i5BhGIaRFRGZpao1hT4/\nDk/kVWBHEfmGiLQATgSmpB0zBfiJtz0UeKohATEMwzBKT8kL8qhqnYj8EpgONAUmqupbInI5UKuq\nU4AJwG0i8j6wAic0hmEYRsKIpaqbqk4Fpqbtu8S3vRY4vtR2GYZhGPlR9ol1wzAMIz5MRAzDMIyC\nMRExDMMwCsZExDAMwygYExHDMAyjYEq+2DBKRORTYIF3twvwWYzmZMNsKwyzLX+SaheYbYUStm3b\nqWoO5SGCqSgR8SMitcWswowSs60wzLb8SapdYLYVStJss3CWYRiGUTAmIoZhGEbBVLKIjI/bgCyY\nbYVhtuVPUu0Cs61QEmVbxeZEDMMwjOipZE/EMAzDiBpVLckN2BZ4GpgDvAWc7e3fGpgJzPX+dvL2\n7wL8C1gHnOcbZ2fgNd9tNTAqwzkHAu8C7wOjffsnAR/6xjg8g2174boqrsf1NOnqs+09YJO3/84E\n2fY9b/8mYB7QMyLb3sKV9Q96P9/x7FJgB99rNtezawnwErBniV+zXwNfeXY9Q/1n7WSgzrNtMXBJ\nDO9nJttqcJWsU5+14THYdh/wJe67uBjX2wdgEPCFZ/OjMX1HM9mWun6sBzYCQxNk21Xe/tR3YSPu\nexOFbXtleP4E4HXgv7gW5O28/S2Be7xxXwF6N3htj1o8fEZXA/t42+1xF+E+3gs62ts/GviTt90V\n6AtcgU9E0sZsivtibZfhsXnA9kAL7wXr43uhh+Zg2zvUC8TLwHRve1/vDfwzcB7eBTwhtk0Bxniv\n243AbVHY1sD7eR3QG1gJXOd7P0/1vWaDgFdK/JpNAv4EzAcup/6zdjTwPPF+1jLZdgUw2ft7KU5Q\nWpTYtvtx303BXZhSn7U+uL4/L+ATkYTY1hX3PZ0PvO0fKyG2pa5tE3H9kiKxLdMN6ODb/gv11+Cf\nAzd62ycC9zQ0VsnCWaq6RFVne9tf4N7YHsAQ3JcE7+/R3jHLVPVVYEOWYQcA81R1QcBj/YD3VfUD\nVV0P3O2dKx/bvon7hQjwe+AAb/s4YCzuVxiquowticu2HXC/Mjbgfk0EjVu0bQ28n1eq6nxgDTDY\nO2aZqk7Ee81wwtczbLsasG0/4FrvsHvwPmvA5zjvLc7PWibb1uB+tW7A/UpcgfOaSmnbHsBkdVeW\nB3HeEao6R1UnB9iTBNuW4V7Tt3CvYaJs813b9gLuisq2TKjqagAREaA1zpuEza/H9wMDvGMyEktO\nRER6A3vj3KVuqrrEe+gToFseQ51I8BsA7k38yHd/kbcvxRUi8l8RuUZEWgbYNhc38cBrZM3rQCtv\neyfvdipwpogMTJBtrwPHetu7A+1FpHOUtmV5PzcCmVbC/hSYFqVdDdi2lM0/a/sBpwMjRGS3gPPH\nZds4YFfgXO92tqpuisM2EWmOE7cWGc4VRCy2iUgP4BggW7/suF+35riw2wOlsC0dEfkH7pq7C3B9\n+tiqWof7cZV+/diMkouIiLTDvWijUmqYwlNsDXziluO0AI7CxR3z5ULcC9cXF4u8IN02Mv96AdfM\na0ec63gHcLOIdEyIbecBBwGn4bySxbiLeSS2ZXs/PYLezx1wInJBVHZ5Y+Zq22xgO1z47wXgYf9B\nMdt2OC4U8mdc2GGciHSIyba/Ac+R3fP4HzHbdq33nMDrSUJet52AD1V1RdS2BaGqw4FtcJ7TCQWc\nCyixiHiK/ABwh6o+6O1eKiLV3uPVQFBoKIhBwGxVXeo9d1sRec27nY67eG7rO76nty/lfqqqrgP+\nAfTzbJsPdMeFYJYDKiKpkMuewFpvexEu97AJF154Dycqsdumqh+r6rHATXi/9FX184hs2xf3frYF\nLhGRW/C9n7jYbXqNn264rpVDVHV5CV8z0mzrhvdZU9XVqpoS5neA5iLSJQm2AcNxoRBw7/uHuItE\nqW0bi/MqryI539FsttXgwjyjgG8BfxORVIgwbttS7I77gRDp6+aNMd17/i3+E6nqRu91Os7b9b+x\nRaQZsBXuc5cZbSBpEtYNl1y6Fbg2bf9YNk+sX5X2+BgCkp3ePz48y/maAR8A36A++bSb91i1z6Zr\ngT9msO1dNk9ez/C2B+LihmOAS3DuX+eE2NYF9+NgDPAEcHmEr9sbDbyfK4HrfY/1wonu9QHnLcVr\nNtb7jM3HJa+v8vZ39547BvgrsBBvDVUCbPu7Z1fqthjoUmLbHscVNm1N8Hf0GQIS6wmxbQxuFuHQ\nJNmGuzh/DVwU9esW8HwBvunbvhq42rv/CzZPrN+byY7/jdfQAWHdcIlfxU0pS00/G4yLtz2Ji/M/\nAWzt+2Ivwk1z+9zb7uA91hanjls1cM7BOC9hHvAb3/6ncBfAN4HbgUMz2LYP9dNolwLdfbZ9gQsT\nbfRsSYptI3AJu424qYVRvW7Ts7yf73o2pKYw3uK9Zl96z9no2T27xK/ZaJzHpt5rc5v3/At9r1kd\n7hdjqd/PTLalvMzUZ21FDLbV4aYfr8N97q/0nr+H91gqDF0H9EiIbf7rx3ri+Y5ms20F7jMX9bWt\nXcBzmwAv+o67w3f+Vrgw2vvAv4HtG7q224p1wzAMo2BsxbphGIZRMCYihmEYRsGYiBiGYRgFYyJi\nGIZhFIyJiGEYhlEwJiKG4SEinX2Luj4RkcW++y9FcL7+IvJPb/soERkd9jkMI2qaxW2AYSQFdSvo\n9wIQkTHAGlW9ukTnnoKrgmAYZYV5IoaRAyKyxvvbX0SeFZFHROQDEfmjiPxIRP4tIm+IyA7ecVUi\n8oCIvOrd/q+B8U8RkXHe9iQRuU5EXvLOMdR33PneeP8Vkcui/J8NIxdMRAwjf/bEVfzdFTgJ2ElV\n++FW5p/pHfNX4BpV7YurS3RL0EBZqMZVeTgCV1YDETkMV6OtH85j+raIHFjcv2IYxWHhLMPIn1fV\nK9suIvOAGd7+N4CDve1DgD5S34qhg4i00/pCjw3xsLqS73NEJFUW/jDv9h/vfjucqDxX8H9iGEVi\nImIY+bPOt73Jd38T9d+pJsB3VHUtheE/h/j+XqmqNxU4pmGEjoWzDCMaZlAf2kJE9gphzOnAqV7f\nCkSkh4h0DWFcwygYExHDiIazgBovAT4Hl0MpClWdAdwJ/EtE3sC1L21f7LiGUQxWxdcwDMMoGPNE\nDMMwjIIxETEMwzAKxkTEMAzDKBgTEcMwDKNgTEQMwzCMgjERMQzDMArGRMQwDMMoGBMRwzAMo2D+\nH2gL7BkQkd9CAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot_date(x=timestamps, y=values, fmt=\"r-\")\n", "plt.ylabel('Values')\n", "plt.xlabel('Time line')" ] } ], "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.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }