From b2f937d2deed5dc43c488fd85c83016fe25af240 Mon Sep 17 00:00:00 2001
From: JacobTh98
Date: Wed, 4 Dec 2024 17:01:27 +0100
Subject: [PATCH 01/14] added hist plot
---
examples/HistPlot.ipynb | 248 ++++++++++++++++++++++++++++++++++++++
examples/LaTeX_layout.tex | 43 ++++++-
examples/LinePlot.ipynb | 14 ++-
plotLaTeX/__init__.py | 3 +-
plotLaTeX/hist_plot.py | 85 +++++++++++++
plotLaTeX/line_plot.py | 2 +-
6 files changed, 387 insertions(+), 8 deletions(-)
create mode 100644 examples/HistPlot.ipynb
create mode 100644 plotLaTeX/hist_plot.py
diff --git a/examples/HistPlot.ipynb b/examples/HistPlot.ipynb
new file mode 100644
index 0000000..eec7d38
--- /dev/null
+++ b/examples/HistPlot.ipynb
@@ -0,0 +1,248 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "e712e79e-4dac-46b5-8b04-6bfc80472a2d",
+ "metadata": {},
+ "source": [
+ "# Histplot"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "14204239-dfc1-4f09-8534-a1e11ce0f951",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "import seaborn as sns\n",
+ "\n",
+ "np.random.seed(seed=42)\n",
+ "\n",
+ "from plotLaTeX import HistPlot"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "0e900dd4-32a7-4e52-87ee-1caf2c76e0c8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# create random data\n",
+ "n_pts = 1000\n",
+ "data1 = np.random.normal(loc=0, scale=2, size=n_pts)\n",
+ "data2 = np.random.normal(loc=1, scale=2.5, size=n_pts)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "4a3a395f-3d36-44b1-aaf1-2390ff599f6b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.figure(figsize=(7.5, 3))\n",
+ "plt.hist(data1, bins=20, color=\"C0\", alpha=0.5, edgecolor=\"black\")\n",
+ "plt.hist(data2, bins=20, color=\"C1\", alpha=0.5, edgecolor=\"black\")\n",
+ "plt.grid(alpha=0.3)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "e9abb184-e0a4-4dc0-976c-3584e294bffe",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Hplt = HistPlot(bins=10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "e688edf6-33d7-44dd-be8e-a8a44ebc5c84",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current data stack:\n",
+ " data1xs data1cnt\n",
+ "0 -5.773135 4\n",
+ "1 -4.354335 22\n",
+ "2 -2.935535 96\n",
+ "3 -1.516735 228\n",
+ "4 -0.097936 272\n"
+ ]
+ }
+ ],
+ "source": [
+ "# add data1\n",
+ "Hplt.add_histdata(data1, name=\"data1\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "7a42c064-6b2c-4eaa-b8f8-649a3e0bea92",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current data stack:\n",
+ " data1xs data1cnt data2xs data2cnt\n",
+ "0 -5.773135 4 -5.584285 12\n",
+ "1 -4.354335 22 -4.050911 25\n",
+ "2 -2.935535 96 -2.517536 79\n",
+ "3 -1.516735 228 -0.984162 165\n",
+ "4 -0.097936 272 0.549212 247\n"
+ ]
+ }
+ ],
+ "source": [
+ "# add data2\n",
+ "Hplt.add_histdata(data2, name=\"data2\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "affd91c0-359c-4054-a724-29c4cd6ad2b8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "Hplt.add_axis_labels(xlabel=\"x-label\", ylabel=\"Count\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "dc53e9bf-57fd-48f9-bbf0-358ee2b78438",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "**Export**\n",
+ "\n",
+ "Current data stack:\n",
+ " data1xs data1cnt data2xs data2cnt\n",
+ "0 -5.773135 4 -5.584285 12\n",
+ "1 -4.354335 22 -4.050911 25\n",
+ "2 -2.935535 96 -2.517536 79\n",
+ "3 -1.516735 228 -0.984162 165\n",
+ "4 -0.097936 272 0.549212 247\n",
+ "\n",
+ "***********\n",
+ "LaTeX code:\n",
+ "***********\n",
+ "\n",
+ "\\begin{figure}[h]\n",
+ " \\centering\n",
+ " \\tikzstyle{every node}=[font=\\footnotesize]\n",
+ " \\begin{tikzpicture}\n",
+ " \\begin{axis}[\n",
+ " ylabel=Count,\n",
+ " xlabel=x-label,\n",
+ " % xtick={0,1,...,10},\n",
+ " width=7.5cm,\n",
+ " height=3cm,\n",
+ " at={(0cm,0cm)},\n",
+ " scale only axis,\n",
+ " axis background/.style={fill=white},\n",
+ " grid=both,\n",
+ " legend columns = 2,\n",
+ " legend style={at={(0,1.05)}, legend cell align=left, align=left, draw=white!15!black, mark options={draw=none}, anchor=south west},\n",
+ " ]\n",
+ " \\addplot[ybar,fill, fill opacity=0.3, black] \n",
+ " \ttable[x=data1xs,y=data1cnt,col sep=comma]{hist_results.csv};\n",
+ " \\addlegendentry{data1};\n",
+ " \\addplot[ybar,fill, fill opacity=0.3, black] \n",
+ " \ttable[x=data2xs,y=data2cnt,col sep=comma]{hist_results.csv};\n",
+ " \\addlegendentry{data2};\n",
+ " \\end{axis}\n",
+ " \\end{tikzpicture}\n",
+ " \\caption{Caption of the histogram.}\n",
+ " \\label{fig:Caption of the histogram.}\n",
+ "\\end{figure}\n"
+ ]
+ }
+ ],
+ "source": [
+ "Hplt.export()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "319526ce-72fe-4bfa-b6e6-1d1844430bcd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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7pzGjRtnW19bW6vRo0erurpa+/bt09q1a5Wenq758+cbcUoAAMDJtDLy4Nu3b7ebT09PV3BwsLKysvSjH/1IpaWlevfdd7V+/XoNHTpUkrRmzRrFxMRo//79GjRokD7//HMdO3ZMO3fuVEhIiPr27atFixZp5syZeuWVV+Th4WHEqQEAACfhVGN2SktLJUmBgYGSpKysLNXU1CghIcG2TXR0tCIjI5WZmSlJyszMVO/evRUSEmLbJjExUWVlZTp69OhNj1NVVaWysjK7CQAAmJPTlJ26ujo9//zzevDBB9WrVy9JUkFBgTw8PNSmTRu7bUNCQlRQUGDb5h+LzvX119fdTGpqqgICAmxTRESEg88GAAA4C6cpO8nJycrOztaGDRua/FizZ89WaWmpbTpz5kyTHxMAABjD0DE7102bNk1bt27V3r171bFjR9vy0NBQVVdXq6SkxO7qTmFhoUJDQ23bfPXVV3b7u3631vVt/pmnp6c8PT0dfBYAAMAZGXplx2q1atq0adq8ebN27dqlTp062a2PjY2Vu7u7MjIybMtyc3NlsVgUHx8vSYqPj9e3336roqIi2zY7duyQv7+/evTo0TwnAgAAnJahV3aSk5O1fv16ffLJJ/Lz87ONsQkICJC3t7cCAgI0efJkpaSkKDAwUP7+/po+fbri4+M1aNAgSdLw4cPVo0cPPf7441q8eLEKCgo0d+5cJScnc/UGAAAYW3ZWrlwpSRo8eLDd8jVr1ujJJ5+UJL399ttydXVVUlKSqqqqlJiYqHfeece2rZubm7Zu3aqpU6cqPj5erVu31sSJE7Vw4cLmOg0AAODEDC07Vqv1B7fx8vJSWlqa0tLSbrlNVFSUtm3b5shoAADAJJzmbiwAAICmQNkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACmRtkBAACm1qiy07lzZ124cOGG5SUlJercufMdhwIAAHCURpWd06dPq7a29oblVVVVOnv27B2HAgAAcJRWDdn4z3/+s+3nzz77TAEBAbb52tpaZWRk6J577nFYOAAAgDvVoLIzduxYSZKLi4smTpxot87d3V333HOP/v3f/91h4QAAAO5Ug8pOXV2dJKlTp046ePCggoKCmiQUADjamfNlOvxdy/iaPcdy3ugIgKk0qOxcl5eX5+gcANAkKssvS5IWbzygxRsPGJymYfLz842OAJhCo8qOJGVkZCgjI0NFRUW2Kz7Xvffee3ccDAAcobrqiiRp0Iif6YHY+wxOUz+5J/6qTz/6QCUlJUZHAUyhUWVnwYIFWrhwoQYMGKCwsDC5uLg4OhcAOJR/YJA6RkUZHaNeikvLjY4AmEqjys6qVauUnp6uxx9/3NF5gLtKcXGx3HxbzlcVZZcvGx0BABqsUWWnurpaDzzwgKOzAHeN62MxNm3aJDffQIPT1F910bXxelevXjU4CQDUX6PKzr/9279p/fr1mjdvnqPzAHeF62MxhvTrrOju3YwN0wC7dlUo64RUW3fjQ0UBwFk1quxcuXJFq1ev1s6dO9WnTx+5u7vbrX/rrbccEg4wu7a+Xgpr5290jHrz8fIwOgIANFijys4333yjvn37SpKys7Pt1jFYGQAAOJNGlZ0vvvjC0TkAAACaRKNeBAoAANBSNOrKzpAhQ277ddWuXbsaHQgAAMCRGlV2ro/Xua6mpkZHjhxRdnb2DS8IBQAAMFKjys7bb7990+WvvPKKyst58icAAHAeDh2zM2HCBN6LBQAAnIpDy05mZqa8vLwcuUsAAIA70qivscaNG2c3b7ValZ+fr0OHDvFUZQAA4FQaVXYCAgLs5l1dXdW9e3ctXLhQw4cPd0gwAAAAR2hU2VmzZo2jcwAAADSJRpWd67KyspSTkyNJ6tmzp/r16+eQUAAAAI7SqLJTVFSkRx99VLt371abNm0kXXuL85AhQ7Rhwwa1b9/ekRkBAAAarVFlZ/r06bp8+bKOHj2qmJgYSdKxY8c0ceJEPfvss/rjH//o0JAAcDfKy8vT4cOHjY5Rb0FBQYqMjDQ6BnCDRpWd7du3a+fOnbaiI0k9evRQWlpagwYo7927V2+++aaysrKUn5+vzZs3a+zYsbb1Tz75pNauXWv3mcTERG3fvt02f/HiRU2fPl1btmyRq6urkpKStGzZMvn6+jbm1ADAcJVVVyVJ8+bNa1F3uPr4eCsn5ziFB06nUWWnrq5O7u7uNyx3d3dXXV1dvfdTUVGh++67T0899dQNt7NfN2LECLsB0Z6ennbrx48fr/z8fO3YsUM1NTWaNGmSnn76aa1fv77eOQDAmVTVXCs7Mx8ZpF8MizU4Tf3kWM5rwusfqbi4mLIDp9OosjN06FA999xz+uMf/6jw8HBJ0tmzZ/XCCy9o2LBh9d7PyJEjNXLkyNtu4+npqdDQ0Juuy8nJ0fbt23Xw4EENGDBAkrRixQqNGjVKS5YssWUDgJaoY3s/9b+3g9ExgBavUU9Q/t3vfqeysjLdc8896tKli7p06aJOnTqprKxMK1ascGjA3bt3Kzg4WN27d9fUqVN14cIF27rMzEy1adPGVnQkKSEhQa6urjpw4MAt91lVVaWysjK7CQAAmFOjruxERETo8OHD2rlzp44fPy5JiomJUUJCgkPDjRgxQuPGjVOnTp106tQpzZkzRyNHjlRmZqbc3NxUUFCg4OBgu8+0atVKgYGBKigouOV+U1NTtWDBAodmBQAAzqlBZWfXrl2aNm2a9u/fL39/f/3kJz/RT37yE0lSaWmpevbsqVWrVunhhx92SLhHH33U9nPv3r3Vp08fdenSRbt3727Q12X/bPbs2UpJSbHNl5WVKSIi4o6yAgAA59Sgr7GWLl2qKVOmyN/f/4Z1AQEB+tWvfqW33nrLYeH+WefOnRUUFKSTJ09KkkJDQ1VUVGS3zdWrV3Xx4sVbjvORro0D8vf3t5sAAIA5NajsfP311xoxYsQt1w8fPlxZWVl3HOpW/v73v+vChQsKCwuTJMXHx6ukpMTumLt27VJdXZ3i4uKaLAcAAGg5GvQ1VmFh4U1vObftrFUrnT9/vt77Ky8vt12lka49QOvIkSMKDAxUYGCgFixYoKSkJIWGhurUqVP6zW9+o65duyoxMVHStXFCI0aM0JQpU7Rq1SrV1NRo2rRpevTRR7kTCwAASGrglZ0OHTooOzv7luu/+eYb21WX+jh06JD69etne6dWSkqK+vXrp/nz58vNzU3ffPONfvrTn+ree+/V5MmTFRsbq//5n/+xe9bOunXrFB0drWHDhmnUqFF66KGHtHr16oacFgAAMLEGXdkZNWqU5s2bpxEjRsjLy8tu3ffff6+XX35Z//Iv/1Lv/Q0ePFhWq/WW6z/77LMf3EdgYCAPEAQAALfUoLIzd+5cbdq0Sffee6+mTZum7t27S5KOHz+utLQ01dbW6qWXXmqSoAAAAI3RoLITEhKiffv2aerUqZo9e7btqoyLi4sSExOVlpamkJCQJgkKAADQGA1+qGBUVJS2bdumS5cu6eTJk7JarerWrZvatm3bFPkAAADuSKOeoCxJbdu21cCBAx2ZBQAAwOEa9W4sAACAloKyAwAATI2yAwAATI2yAwAATI2yAwAATI2yAwAATI2yAwAATI2yAwAATI2yAwAATI2yAwAATK3Rr4sAnInFYlFxcbHRMeotLy/P6AgAcNeg7KDFs1gsio6J0feVlUZHabDKqqtGRwAA06PsoMUrLi7W95WVGj/zTYVEdjE6Tr18lbFVX256T1U1lB0AaGqUHZhGSGQXdezW0+gY9ZL7TZbREQDgrsEAZQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqUHQAAYGqGlp29e/dqzJgxCg8Pl4uLi/70pz/ZrbdarZo/f77CwsLk7e2thIQEnThxwm6bixcvavz48fL391ebNm00efJklZeXN+NZAAAAZ2Zo2amoqNB9992ntLS0m65fvHixli9frlWrVunAgQNq3bq1EhMTdeXKFds248eP19GjR7Vjxw5t3bpVe/fu1dNPP91cpwAAAJxcKyMPPnLkSI0cOfKm66xWq5YuXaq5c+fqZz/7mSTpP//zPxUSEqI//elPevTRR5WTk6Pt27fr4MGDGjBggCRpxYoVGjVqlJYsWaLw8PBmOxcAAOCcnHbMTl5engoKCpSQkGBbFhAQoLi4OGVmZkqSMjMz1aZNG1vRkaSEhAS5urrqwIEDt9x3VVWVysrK7CYAAGBOTlt2CgoKJEkhISF2y0NCQmzrCgoKFBwcbLe+VatWCgwMtG1zM6mpqQoICLBNERERDk4PAACchdOWnaY0e/ZslZaW2qYzZ84YHQkAADQRpy07oaGhkqTCwkK75YWFhbZ1oaGhKioqslt/9epVXbx40bbNzXh6esrf399uAgAA5uS0ZadTp04KDQ1VRkaGbVlZWZkOHDig+Ph4SVJ8fLxKSkqUlZVl22bXrl2qq6tTXFxcs2cGAADOx9C7scrLy3Xy5EnbfF5eno4cOaLAwEBFRkbq+eef16uvvqpu3bqpU6dOmjdvnsLDwzV27FhJUkxMjEaMGKEpU6Zo1apVqqmp0bRp0/Too49yJxYAAJBkcNk5dOiQhgwZYptPSUmRJE2cOFHp6en6zW9+o4qKCj399NMqKSnRQw89pO3bt8vLy8v2mXXr1mnatGkaNmyYXF1dlZSUpOXLlzf7uQAAAOdkaNkZPHiwrFbrLde7uLho4cKFWrhw4S23CQwM1Pr165siHgAAMAGnHbMDAADgCJQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgaq2MDgAAuLkz58t0+LuzRseolxzLeaMjALdE2QEAJ1NZflmStHjjAS3eeMDgNA2Tn59vdATgBpQdmEZxcbHcfFvGH7Rlly8bHQFOrLrqiiRp0Iif6YHY+wxOUz+5J/6qTz/6QCUlJUZHAW5A2UGLd/1fkps2bZKbb6DBaeqnuihPknT16lWDk8CZ+QcGqWNUlNEx6qW4tNzoCMAtUXbQ4l3/l+SQfp0V3b2bsWHqadeuCmWdkGrrao2OAgCmR9mBabT19VJYO3+jY9SLj5eH0REA4K7BrecAAMDUKDsAAMDU+BoLAOAweXl5Onz4sNEx6i0oKEiRkZFGx0ATo+wAAO5YZdW1OwvnzZunefPmGZym/nx8vJWTc5zCY3KUHQDAHauquVZ2Zj4ySL8YFmtwmvrJsZzXhNc/UnFxMWXH5Cg7AACH6djeT/3v7WB0DMAOA5QBAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpUXYAAICpOXXZeeWVV+Ti4mI3RUdH29ZfuXJFycnJateunXx9fZWUlKTCwkIDEwMAAGfj1GVHknr27Kn8/Hzb9OWXX9rWvfDCC9qyZYs2btyoPXv26Ny5cxo3bpyBaQEAgLNpZXSAH9KqVSuFhobesLy0tFTvvvuu1q9fr6FDh0qS1qxZo5iYGO3fv1+DBg1q7qgAAMAJOf2VnRMnTig8PFydO3fW+PHjZbFYJElZWVmqqalRQkKCbdvo6GhFRkYqMzPTqLgAAMDJOPWVnbi4OKWnp6t79+7Kz8/XggUL9PDDDys7O1sFBQXy8PBQmzZt7D4TEhKigoKC2+63qqpKVVVVtvmysrKmiA8AAJyAU5edkSNH2n7u06eP4uLiFBUVpY8++kje3t6N3m9qaqoWLFjgiIgAAMDJOf3XWP+oTZs2uvfee3Xy5EmFhoaqurpaJSUldtsUFhbedIzPP5o9e7ZKS0tt05kzZ5owNQAAMFKLKjvl5eU6deqUwsLCFBsbK3d3d2VkZNjW5+bmymKxKD4+/rb78fT0lL+/v90EAADMyam/xvr1r3+tMWPGKCoqSufOndPLL78sNzc3PfbYYwoICNDkyZOVkpKiwMBA+fv7a/r06YqPj+dOLAAAYOPUZefvf/+7HnvsMV24cEHt27fXQw89pP3796t9+/aSpLfffluurq5KSkpSVVWVEhMT9c477xicGgAAOBOnLjsbNmy47XovLy+lpaUpLS2tmRIBAICWpkWN2QEAAGgoyg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADA1yg4AADC1VkYHgPOxWCwqLi42Oka95eXlGR0BAODEKDuwY7FYFB0To+8rK42O0mCVVVeNjgAAcEKUHdgpLi7W95WVGj/zTYVEdjE6Tr18lbFVX256T1U1lB0AwI0oO7ipkMgu6titp9Ex6iX3myyjIwAAnBgDlAEAgKlxZQcAcFfLyckxOkKDBAUFKTIy0ugYLQplBwBwV8q/eFkukiZMmGB0lAbx8fFWTs5xCk8DUHZwU8XFxXLzzTc6Rr2UXb5sdAQALVBJ+RVZJf3u/w1XfJ9uRseplxzLeU14/SMVFxdTdhqAsgM7+fnXCs6mTZvk5htocJr6qS669pydq1e5GwtAw3UNb6v+93YwOgaaEGUHdkpKSiRJQ/p1VnT3lvEvnV27KpR1QqqtqzU6CgDACVF2cFNtfb0U1s7f6Bj14uPlYXQEAIAT49ZzAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgajxUEADgMGfOl+nwd2eNjlEveQWXjI6AZkLZAQDcscryay/kXbzxgBZvPGBwmoYpKqkwOgKaGGUHAHDHqquuSJIGjfiZHoi9z+A09XPomxzt3bJRpZVVRkdBE6PsNDGLxaLi4mKjY9RbXl6e0REAtGD+gUHqGBVldIx6OXG25fzZjDtD2WlCFotFMTHRqqz83ugoDVZTc9XoCAAAOARlpwkVFxersvJ7fTDnF4qJbG90nHr5j22HtPLPB1RbS9kBAJgDZacZxES2V/97Oxgdo17Cv/rO6AgAADgUz9kBAACmxpUdAABamJycHKMjNEhQUJAiIyMNOz5lBwCAFiL/4mW5SJowYYLRURrEx8dbOTnHDSs8lJ1mkGM5b3SEejtXXGZ0BADALZSUX5FV0u/+33DF9+lmdJx6ybGc14TXP1JxcTFlx4zy8/MlSRNe/8jgJA33fTV3YwGAs+oa3rbF3PjiDExTdtLS0vTmm2+qoKBA9913n1asWKH777/f0EwlJSWSpNG/mKDu3TobmqW+vti7T3/5n52qulprdBQAABzCFGXnww8/VEpKilatWqW4uDgtXbpUiYmJys3NVXBwsNHx1C44uMU8UdS3Tcsa9AYAwA8xRdl56623NGXKFE2aNEmStGrVKn366ad67733NGvWLIPTAQCcWUt8U/uJcxfVvoVkdoZxqy2+7FRXVysrK0uzZ8+2LXN1dVVCQoIyMzNv+pmqqipVVf3fi99KS0slSWVljh2cW1lZKUk6efKvqq5uGS+aKzx3TpJ07swZfXXosMFp6ofMzacl5iZz82iJmU8dv3YluyW+qX36Ozsk7TA6RoOcOnVKXbt2deg+r/+9bbVab7+htYU7e/asVZJ13759dstnzJhhvf/++2/6mZdfftkqiYmJiYmJickE05kzZ27bFVr8lZ3GmD17tlJSUmzzdXV1unjxotq1aycXFxcDk11TVlamiIgInTlzRv7+/kbHaVJ3y7lynuZzt5wr52kuZjtPq9Wqy5cvKzw8/LbbtfiyExQUJDc3NxUWFtotLywsVGho6E0/4+npKU9PT7tlbdq0aaqIjebv72+K/zHWx91yrpyn+dwt58p5mouZzjMgIOAHt2nx78by8PBQbGysMjIybMvq6uqUkZGh+Ph4A5MBAABn0OKv7EhSSkqKJk6cqAEDBuj+++/X0qVLVVFRYbs7CwAA3L1MUXZ++ctf6vz585o/f74KCgrUt29fbd++XSEhIUZHaxRPT0+9/PLLN3zVZkZ3y7lynuZzt5wr52kud8t5/jMXq/WH7tcCAABouVr8mB0AAIDboewAAABTo+wAAABTo+wAAABTo+y0AJ9++qni4uLk7e2ttm3bauzYsUZHalJVVVXq27evXFxcdOTIEaPjONTp06c1efJkderUSd7e3urSpYtefvllVVdXGx3NIdLS0nTPPffIy8tLcXFx+uqrr4yO5FCpqakaOHCg/Pz8FBwcrLFjxyo3N9foWE3ujTfekIuLi55//nmjozSJs2fPasKECWrXrp28vb3Vu3dvHTp0yOhYDlVbW6t58+bZ/dmzaNGiH36nlEmY4tZzM/v44481ZcoUvf766xo6dKiuXr2q7Oxso2M1qd/85jcKDw/X119/bXQUhzt+/Ljq6ur0+9//Xl27dlV2dramTJmiiooKLVmyxOh4d+TDDz9USkqKVq1apbi4OC1dulSJiYnKzc1VcHCw0fEcYs+ePUpOTtbAgQN19epVzZkzR8OHD9exY8fUunVro+M1iYMHD+r3v/+9+vTpY3SUJnHp0iU9+OCDGjJkiP77v/9b7du314kTJ9S2bVujoznUb3/7W61cuVJr165Vz549dejQIU2aNEkBAQF69tlnjY7X9BzyNk40iZqaGmuHDh2s//Ef/2F0lGazbds2a3R0tPXo0aNWSda//OUvRkdqcosXL7Z26tTJ6Bh37P7777cmJyfb5mtra63h4eHW1NRUA1M1raKiIqsk6549e4yO0iQuX75s7datm3XHjh3WH//4x9bnnnvO6EgON3PmTOtDDz1kdIwmN3r0aOtTTz1lt2zcuHHW8ePHG5SoefE1lhM7fPiwzp49K1dXV/Xr109hYWEaOXKkaa/sFBYWasqUKXr//ffl4+NjdJxmU1paqsDAQKNj3JHq6mplZWUpISHBtszV1VUJCQnKzMw0MFnTKi0tlaQW/9/vVpKTkzV69Gi7/65m8+c//1kDBgzQI488ouDgYPXr109/+MMfjI7lcA888IAyMjL03XffSZK+/vprffnllxo5cqTByZoHZceJ/fWvf5UkvfLKK5o7d662bt2qtm3bavDgwbp48aLB6RzLarXqySef1DPPPKMBAwYYHafZnDx5UitWrNCvfvUro6PckeLiYtXW1t7w1PKQkBAVFBQYlKpp1dXV6fnnn9eDDz6oXr16GR3H4TZs2KDDhw8rNTXV6ChN6q9//atWrlypbt266bPPPtPUqVP17LPPau3atUZHc6hZs2bp0UcfVXR0tNzd3dWvXz89//zzGj9+vNHRmgVlxwCzZs2Si4vLbafrYzsk6aWXXlJSUpJiY2O1Zs0aubi4aOPGjQafRf3U91xXrFihy5cva/bs2UZHbpT6nuc/Onv2rEaMGKFHHnlEU6ZMMSg5Gis5OVnZ2dnasGGD0VEc7syZM3ruuee0bt06eXl5GR2nSdXV1al///56/fXX1a9fPz399NOaMmWKVq1aZXQ0h/roo4+0bt06rV+/XocPH9batWu1ZMkS05W6W2GAsgFefPFFPfnkk7fdpnPnzsrPz5ck9ejRw7bc09NTnTt3lsViacqIDlPfc921a5cyMzNveF/LgAEDNH78eKf/P2R9z/O6c+fOaciQIXrggQe0evXqJk7X9IKCguTm5qbCwkK75YWFhQoNDTUoVdOZNm2atm7dqr1796pjx45Gx3G4rKwsFRUVqX///rZltbW12rt3r373u9+pqqpKbm5uBiZ0nLCwMLs/YyUpJiZGH3/8sUGJmsaMGTNsV3ckqXfv3vrb3/6m1NRUTZw40eB0TY+yY4D27durffv2P7hdbGysPD09lZubq4ceekiSVFNTo9OnTysqKqqpYzpEfc91+fLlevXVV23z586dU2Jioj788EPFxcU1ZUSHqO95Steu6AwZMsR2pc7VteVfYPXw8FBsbKwyMjJsj0aoq6tTRkaGpk2bZmw4B7JarZo+fbo2b96s3bt3q1OnTkZHahLDhg3Tt99+a7ds0qRJio6O1syZM01TdCTpwQcfvOHxAd99912L+TO2viorK2/4s8bNzc32DYLZUXacmL+/v5555hm9/PLLioiIUFRUlN58801J0iOPPGJwOseKjIy0m/f19ZUkdenSxVT/cj579qwGDx6sqKgoLVmyROfPn7eta+lXQFJSUjRx4kQNGDBA999/v5YuXaqKigpNmjTJ6GgOk5ycrPXr1+uTTz6Rn5+fbTxSQECAvL29DU7nOH5+fjeMQ2rdurXatWtnuvFJL7zwgh544AG9/vrr+sUvfqGvvvpKq1evNsUV1380ZswYvfbaa4qMjFTPnj31l7/8RW+99Zaeeuopo6M1D6NvB8PtVVdXW1988UVrcHCw1c/Pz5qQkGDNzs42OlaTy8vLM+Wt52vWrLFKuulkBitWrLBGRkZaPTw8rPfff791//79RkdyqFv9t1uzZo3R0ZqcWW89t1qt1i1btlh79epl9fT0tEZHR1tXr15tdCSHKysrsz733HPWyMhIq5eXl7Vz587Wl156yVpVVWV0tGbhYrXeJY9PBAAAd6WWP1gAAADgNig7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1Cg7AADA1P4/971yXaLFsX0AAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot the data using seaborn\n",
+ "sns.histplot(data=Hplt.data, bins=Hplt.bins)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.12.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/examples/LaTeX_layout.tex b/examples/LaTeX_layout.tex
index 4b8fb06..c55ef26 100644
--- a/examples/LaTeX_layout.tex
+++ b/examples/LaTeX_layout.tex
@@ -4,6 +4,11 @@
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.18}
+\usepackage{siunitx}
+
+\pgfplotsset{compat=newest}
+\usepgfplotslibrary{units}
+
\definecolor{mycolor1}{rgb}{0.54, 0.00, 0.45}
\definecolor{mycolor2}{rgb}{0.61, 0.51, 0.11}
\definecolor{mycolor3}{rgb}{0.59, 0.66, 0.16}
@@ -37,10 +42,10 @@ \subsection{Multiple line plot}
legend style={at={(0,1.05)}, legend cell align=left, align=left, draw=white!15!black, mark options={draw=none}, anchor=south west},
]
\addplot[]
- table[x=x,y=sin,col sep=comma]{test_results.csv};
+ table[x=x,y=sin,col sep=comma]{line_results.csv};
\addlegendentry{sin};
\addplot[]
- table[x=x,y=cos,col sep=comma]{test_results.csv};
+ table[x=x,y=cos,col sep=comma]{line_results.csv};
\addlegendentry{cos};
\end{axis}
\end{tikzpicture}
@@ -48,4 +53,36 @@ \subsection{Multiple line plot}
\label{fig:Caption of the plot.}
\end{figure}
-\end{document}
+\subsection{Histogram plot}
+
+\begin{figure}[h]
+ \centering
+ \tikzstyle{every node}=[font=\footnotesize]
+ \begin{tikzpicture}
+ \begin{axis}[
+ ylabel=Count,
+ xlabel=x-label,
+ % xtick={0,1,...,10},
+ width=7.5cm,
+ bar width=1,
+ height=3cm,
+ at={(0cm,0cm)},
+ scale only axis,
+ axis background/.style={fill=white},
+ grid=both,
+ legend columns = 2,
+ legend style={at={(0,1.05)}, legend cell align=left, align=left, draw=white!15!black, mark options={draw=none}, anchor=south west},
+ ]
+ \addplot[ybar,width=1,fill, fill opacity=0.3, red]
+ table[x=data1xs,y=data1cnt,col sep=comma]{hist_results.csv};
+ \addlegendentry{data1};
+ \addplot[ybar,fill, fill opacity=0.3, black]
+ table[x=data2xs,y=data2cnt,col sep=comma]{hist_results.csv};
+ \addlegendentry{data2};
+ \end{axis}
+ \end{tikzpicture}
+ \caption{Caption of the histogram.}
+ \label{fig:Caption of the histogram.}
+\end{figure}
+
+\end{document}
\ No newline at end of file
diff --git a/examples/LinePlot.ipynb b/examples/LinePlot.ipynb
index c8d55c4..0f37d8c 100644
--- a/examples/LinePlot.ipynb
+++ b/examples/LinePlot.ipynb
@@ -1,5 +1,13 @@
{
"cells": [
+ {
+ "cell_type": "markdown",
+ "id": "5ea8e5e8-6236-48f8-bebd-ec3a65531e1f",
+ "metadata": {},
+ "source": [
+ "# Lineplot"
+ ]
+ },
{
"cell_type": "code",
"execution_count": 1,
@@ -155,10 +163,10 @@
" legend style={at={(0,1.05)}, legend cell align=left, align=left, draw=white!15!black, mark options={draw=none}, anchor=south west},\n",
" ]\n",
" \\addplot[] \n",
- " \ttable[x=x,y=sin,col sep=comma]{test_results.csv};\n",
+ " \ttable[x=x,y=sin,col sep=comma]{line_results.csv};\n",
" \\addlegendentry{sin};\n",
" \\addplot[] \n",
- " \ttable[x=x,y=cos,col sep=comma]{test_results.csv};\n",
+ " \ttable[x=x,y=cos,col sep=comma]{line_results.csv};\n",
" \\addlegendentry{cos};\n",
" \\end{axis}\n",
" \\end{tikzpicture}\n",
@@ -170,7 +178,7 @@
],
"source": [
"# save the data as \".csv\" and get the latex figure code\n",
- "Lplt.export(f_name=\"test_results.csv\")"
+ "Lplt.export(f_name=\"line_results.csv\")"
]
}
],
diff --git a/plotLaTeX/__init__.py b/plotLaTeX/__init__.py
index ee05065..99fd691 100644
--- a/plotLaTeX/__init__.py
+++ b/plotLaTeX/__init__.py
@@ -1,3 +1,4 @@
from .line_plot import LinePlot
+from .hist_plot import HistPlot
-__all__ = ["LaTeXplot"]
+__all__ = ["LaTeXplot", "HistPlot"]
diff --git a/plotLaTeX/hist_plot.py b/plotLaTeX/hist_plot.py
new file mode 100644
index 0000000..66d6aee
--- /dev/null
+++ b/plotLaTeX/hist_plot.py
@@ -0,0 +1,85 @@
+import pandas as pd
+import numpy as np
+
+
+class HistPlot:
+ def __init__(self, bins=10):
+ # self.config = config
+ self.bins = bins
+ self.data_stack = dict()
+ self.data = dict()
+ self.hist_name_list = list()
+
+ self.xlabel = "x-label"
+ self.ylabel = "Count"
+
+ def data_info(self):
+ print("Current data stack:")
+ self.DF = pd.DataFrame(self.data_stack)
+ print(self.DF.head())
+
+ def add_histdata(self, vals, name):
+ # save to data without x ticks
+ self.data[name] = vals
+ # get count 'cnt' of x axis value 'xs'
+ cnt, xs = np.histogram(vals, self.bins)
+ xs = (xs[:-1] + xs[1:]) / 2
+ self.hist_name_list.append(name)
+ self.data_stack[f"{name}xs"] = xs
+ self.data_stack[f"{name}cnt"] = cnt
+ self.data_info()
+
+ def add_axis_labels(self, xlabel, ylabel):
+ self.xlabel = xlabel
+ self.ylabel = ylabel
+
+ def export(self, path="", f_name="hist_results.csv"):
+ self.f_name = f_name
+ print("**Export**\n")
+ self.data_info()
+ pd.DataFrame(self.data_stack).to_csv(path + f_name, index=False)
+ print("\n***********")
+ print("LaTeX code:")
+ print("***********\n")
+ self.LaTeXcode()
+
+ def LaTeXcode(self, imports=False, caption="Caption of the histogram."):
+ if imports:
+ print("\tDon´t forget to import the packages:\n")
+ print(r"\usepackage{graphicx}")
+ print(r"\usepackage{tikz,pgfplots}")
+ print("\n*\t*********\n")
+ print(r"\begin{figure}[h]")
+ print(r" \centering")
+ print(r" \tikzstyle{every node}=[font=\footnotesize]")
+ print(r" \begin{tikzpicture}")
+ print(r" \begin{axis}[")
+ print(f" ylabel={self.ylabel},")
+ print(f" xlabel={self.xlabel},")
+ print(r" % xtick={0,1,...,10},")
+ print(r" width=7.5cm,")
+ print(r" height=3cm,")
+ print(r" at={(0cm,0cm)},")
+ print(r" scale only axis,")
+ print(r" axis background/.style={fill=white},")
+ print(r" grid=both,")
+ print(r" legend columns = " + str(len(self.hist_name_list)) + ",")
+ print(
+ r" legend style={at={(0,1.05)}, legend cell align=left, align=left, draw=white!15!black, mark options={draw=none}, anchor=south west},"
+ )
+ print(r" ]")
+ # plot all y_list components
+ for yn in self.hist_name_list:
+ print(r" \addplot[ybar,fill, fill opacity=0.3, black] ")
+ print(
+ f" table[x={yn}xs,y={yn}cnt,col sep=comma]"
+ + r"{"
+ + f"{self.f_name}"
+ + "};"
+ )
+ print(r" \addlegendentry{" + yn + r"};")
+ print(r" \end{axis}")
+ print(r" \end{tikzpicture}")
+ print(r" \caption{" + caption + "}")
+ print(r" \label{fig:" + caption + "}")
+ print(r"\end{figure}")
diff --git a/plotLaTeX/line_plot.py b/plotLaTeX/line_plot.py
index dee2d3c..49485e1 100644
--- a/plotLaTeX/line_plot.py
+++ b/plotLaTeX/line_plot.py
@@ -30,7 +30,7 @@ def add_yvals(self, y_vals, y_name):
print(f"Added {y_name} with {len(y_vals)} entries.")
self.data_info()
- def export(self, path="", f_name="test_results.csv"):
+ def export(self, path="", f_name="line_results.csv"):
self.f_name = f_name
print("**Export**\n")
self.data_info()
From fb21707f78c82dcf4278254a3602b600c3e03126 Mon Sep 17 00:00:00 2001
From: JacobTh98
Date: Thu, 5 Dec 2024 10:59:02 +0100
Subject: [PATCH 02/14] add hist and upd readme
---
.gitignore | 4 ++--
README.md | 11 ++++++++++-
examples/HistPlot.ipynb | 11 +++++++----
images/example_hist_plot.png | Bin 0 -> 457625 bytes
4 files changed, 19 insertions(+), 7 deletions(-)
create mode 100644 images/example_hist_plot.png
diff --git a/.gitignore b/.gitignore
index a492284..001ff92 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,6 @@ plotLaTeX.egg-info/
*.ipynb_checkpoints
engineering.ipynb
*.csv
-images/line_latex.png
-images/line_python.png
+images/*_latex.png
+images/*_python.png
*.drawio
diff --git a/README.md b/README.md
index 17fa729..88ca4d0 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,15 @@ The `plotLaTeX` package is a recent project to make exporting Python data to a L
Figure 1: Direct conversion of a Python Matplotlib plot to LaTeX. The coloring, line style and other parameters can be adjusted.
+**Hist plot example**
+
+
+
+
+
+ Figure 2: Direct conversion of a Python Matplotlib plot to LaTeX. The coloring, line style and other parameters can be adjusted.
+
+
## Installation
At the moment, no [pip](https://pypi.org/) release is available. Probably in the future...
@@ -20,7 +29,7 @@ To use the package
1. **Clone the repository**
Open a terminal or command prompt and clone the repository using the following command:
```bash
- git https://github.com/JacobTh98/plotLaTeX.git
+ git clone https://github.com/JacobTh98/plotLaTeX.git
2. **Navigate to the directory**
Change into the directory of the cloned repository:
diff --git a/examples/HistPlot.ipynb b/examples/HistPlot.ipynb
index eec7d38..12586dd 100644
--- a/examples/HistPlot.ipynb
+++ b/examples/HistPlot.ipynb
@@ -39,13 +39,13 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 6,
"id": "4a3a395f-3d36-44b1-aaf1-2390ff599f6b",
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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",
+ "image/png": "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MlVo/uLjfpsFSpepgkqlCmuf5557DjabDXPnzkVmZiYeeOABmM1mAIBer8fWrVvxyCOPYO3atbj44ouxevVqXHfddYH9hw4dihUrVuDhhx/GHXfcgZ/85CfYunUrduzYgfvuuw+lpaUYPXo01q5di6lTpwbV/dhjjwVN/dx+Z/fDDz/stG20CFIko2IOMhaLBRqNBmazeUAM49PQ0ACDwcAnBsH26IjtAZw+fRrLVr6A4VdcFzSVoSNKUxlamhtQ88lbeHrp4sADfQMJPyPB2B6dxatNXC4XTp48iREjRnQaSiaeUxm2j+PYNpxQfzwFHns9tXWoORGvQBIREVFC02g0/TqtIPWO/24RERERUViYQBIRERFRWJhAEhEREVFYmEASERERUViYQBIRERFRWJhAEhEREVFYmEASERERUVg4DiQREREltHgOJN4XU6dOxYQJE7BmzZq+B5VgmEASERFRwjKbzXjxuafhtTb1W53yzFwsWrKsXwcv3717N6ZNm4bW1lZkZ2eHvF91dTWeeuopfPDBB6ivr0dBQQFuu+02PProo1AoFDGLlwkkERERJSyHwwGvtQk3jsuEPjsj5vU1mux442gTHA7HgJj95vjx4xBFEb///e8xatQolJeXY8GCBbDb7Vi9enXM6mUCSURERAlPn52BfF33czNHlzXsPex2O37+85/jjTfeQGZmJn75y18GrX/11Vfx29/+FhUVFcjIyMA111yDNWvWwGAwoLq6GtOmTQMA5OTkAADmz5+PrVu3YufOnXj66adRXl6OlJQUTJkyBb/97W9RUlICAJg1axZmzZoVqGfkyJGoqKjAhg0bYppA8iEaIiIioj5asmQJ9uzZg7/97W/4f//v/2H37t04dOhQYL3X68VTTz2Fzz//HG+++Saqq6tx++23AwAKCwvx+uuvAwAqKipw+vRp/Pa3vwXQlpiWlZXhwIED2LVrF2QyGW644QaIothtLGazGVqtNnYHC16BJKIuxLrDerQ6qMeLx+2G0WiMaR0DvY2IkonNZsPLL7+M1157DdOnTwcAvPLKKxg2bFhgmzvvvDPw88iRI7F27VpceumlsNlsUKvVgYTPYDAE9YGcN29eUF2bN2+GXq/HsWPHUFpa2imWyspKrFu3LqZXHwEmkETUgdlsxjPPvoBma+wSSF2mCo8+uHhAJkguhw1Hjh7B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8yMesJiIiIiIBp6IEsiNGzdi69at+PGPfxzteIiIiIgowcki2cnj8eCKK66IdixERERENABElED+9Kc/xfbt26MdCxERERENABHdwna5XNi0aRPef/99jB8/HnK5PGj9888/H5XgiIiIiCjxRJRAHjlyBBMmTAAAlJeXB63jAzVEREREg1tECeSHH34Y7TiIiIiIaICIqA8kERERESWviK5ATps2rcdb1R988EHEARERERFRYosogWzv/9jO6/Xi8OHDKC8vx/z586MRFxERERElqIgSyBdeeKHL5U888QRsNlufAiIiIiKixBbVPpC33XYb58EmIiIiGuSimkDu3bsXaWlp0SySiIiIiBJMRLewb7zxxqD3kiTh9OnTOHDgAJYvXx6VwIiIaPBwuT0wGo0xr0elUkGj0cS8HqJkF1EC2fGPUyaTYfTo0XjyySdx7bXXRiUwIiIaHCx2F44ePQLxd6ugSk+PaV3yzFwsWrKMSSRRjEWUQG7ZsiXacXSruLgY33zzTafl//3f/43169dj6tSp2LNnT9C6n/3sZ9i4cWN/hUhERD1wenyQi27cUKpGcYE+ZvU0mux442gTHA4HE0iiGIsogWx38OBBfPnllwCACy+8EBMnToxKUOfav38//H5/4H15eTm+853v4KabbgosW7BgAZ588snAe5VKFfU4iIiob3I1KuTrsmJcizXG5RMREGEC2dDQgJtvvhm7d+9GdnY2AMBkMmHatGnYsWMH9Pro/YfZsaxVq1ahpKQE3/72twPLVCoV8vLyolYnEREREXUvoqew7733XlitVnzxxRdoaWlBS0sLysvLYbFYcN9990U7xgCPx4PXXnsNd955Z9BMONu2bUNubi5KS0uxdOlSOByOmMVARERElOwiugK5c+dOvP/++xg7dmxg2QUXXID169fH9CGaN998EyaTCbfffntg2Y9+9CMUFRWhoKAAR44cwUMPPYSKigq88cYb3ZbjdrvhdrsD7y0WCwBAFEWIohiz+KNBFEVIkpTwcfaXZGwPSZLQ9v+TBEhSx5VnX30gE4Suyw+LBEEQIEGAFLwUEGSdlkdOgCCTAWfK61j+ua9o1RPd+LuqSoDsnGOKprNt0fa7Ec4cixizg0E/1gNAEMI6JyTjOaQ3bJNgydYeoR5nRAmkKIqQy+Wdlsvl8pg28Msvv4zZs2ejoKAg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",
"text/plain": [
""
]
@@ -56,8 +56,11 @@
],
"source": [
"plt.figure(figsize=(7.5, 3))\n",
- "plt.hist(data1, bins=20, color=\"C0\", alpha=0.5, edgecolor=\"black\")\n",
- "plt.hist(data2, bins=20, color=\"C1\", alpha=0.5, edgecolor=\"black\")\n",
+ "plt.hist(data1, bins=20, label=\"data1\", color=\"C0\", alpha=0.5, edgecolor=\"black\")\n",
+ "plt.hist(data2, bins=20, label=\"data2\", color=\"C1\", alpha=0.5, edgecolor=\"black\")\n",
+ "plt.xlabel(\"x-label\")\n",
+ "plt.ylabel(\"Count\")\n",
+ "plt.legend()\n",
"plt.grid(alpha=0.3)\n",
"plt.show()"
]
diff --git a/images/example_hist_plot.png b/images/example_hist_plot.png
new file mode 100644
index 0000000000000000000000000000000000000000..143a5a761b163e81f759b0bea90c2ced301b35a0
GIT binary patch
literal 457625
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