"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Define figure\n",
"fig,ax = plt.subplots(figsize = (12,9))\n",
"\n",
"# Create bar plot\n",
"plt.bar(df['Spend_Category'], df['Profit_Margin'])\n",
"\n",
"# Convert y-axis labels to percentage\n",
"ax.yaxis.set_major_formatter(mtick.FuncFormatter(percent_formatter))\n",
"\n",
"# show grid\n",
"plt.grid(axis = 'y',alpha = 0.45)\n",
"\n",
"# set title and and x-y label \n",
"plt.title('Profit Margin for top five spend categories')\n",
"plt.ylabel('Profit Margin')\n",
"plt.xlabel('Category')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "d0115fc2",
"metadata": {},
"source": [
"## Matplotlib + Little Extra Effort"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "04e04da7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
See Full Dataframe in Mito
\n",
" \n",
"
\n",
"
\n",
"
Spend_Category
\n",
"
Profit_Margin
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Clothing
\n",
"
0.10
\n",
"
\n",
"
\n",
"
1
\n",
"
Electronics
\n",
"
0.13
\n",
"
\n",
"
\n",
"
2
\n",
"
Toys
\n",
"
0.14
\n",
"
\n",
"
\n",
"
3
\n",
"
Stationery
\n",
"
0.20
\n",
"
\n",
"
\n",
"
4
\n",
"
Home Decor
\n",
"
0.43
\n",
"
\n",
" \n",
"
"
],
"text/plain": [
" Spend_Category Profit_Margin\n",
"0 Clothing 0.10\n",
"1 Electronics 0.13\n",
"2 Toys 0.14\n",
"3 Stationery 0.20\n",
"4 Home Decor 0.43"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## sort the dataframe\n",
"df = df.sort_values(\"Profit_Margin\", ascending=True, ignore_index = True)\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "8201757f",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAFzCAYAAAAjTv9dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABvtklEQVR4nO3dd3gUVdvH8e9NqCH0XgREBESKNLugiApieSzYUVRUioiACMqjiI0iYlfs2BVQX0VRwQI+ShEbCAiKgiK9Sgk1ud8/ZnaZhCQkQAjo73Ndc+3OmTNzzszOzt579sxZc3dERERERCSQL68rICIiIiJyIFGALCIiIiISoQBZRERERCRCAbKIiIiISIQCZBERERGRCAXIIiIiIiIR+bNaWKPfh9keA27h4Ha299UREREREclbakEWEREREYlQgCwiIiIiEpEnAbKZ1Taz3ma2xMw8Ms0xs3VmtszMPjezm8ys8H6q03lmNsnMppjZRjP71sxahmkbzKxvJuudmo1tn2Nm35tZarr9/WE36z2VLr+b2Wwz67Kn+7kvmdkZZrbUzOab2VG5VEY+M7vGzKaZ2dTwtZlkZnVzo7ws6lHIzE7cn2VmZU/PV8mcmQ0Kj13svTYxj+tzQJ1zOWFmt4XHcqKZFc/r+oiI5JRl9VfTud0H2cx6AA/H5t3dzKwI8DhwTZg8AzjF3dfmdPs5qMftwH3hbGHgF6AasB0oEKavd/cS6darCsx099LZLOc+oDdQKJJ8irtPzCBvCWAeUCGSPMbd22enrP3BzN4Hzg5nH3X3HrlQxjPAdcAy4BBgK8EXuyHu3m9fl5dFPR4ANrn7XfurzCzqskfnq+yemV0EvBXOTnL3k/OwLgfMOZdTZrYeKBbOnu/u7+ZlfUREciqvu1isT5/g7puBm4ANYVIj4K5crkfvSPlbgbOADkBF4GtgIzAkuoKZlQbGAaVyUM5vwBvAjkjazZnkvQYYlS5tTg7K2h+eApYDC4CX9vXGwy8J14azW919B3ACcBlw974uL4t6XAfcsr/Ky4Ycn6+SbSvyugJwQJ5zOTWU4Dz8H/B5HtdFRCTHshzFYj/IsIXa3TeZ2XygcZjUOpfrkaYF2N1/An4KZ3f5idPMagHvA0fksJxU4A9gNHBpmHa2mR3m7r9Ftp8P6Ay0BbpHq5bD8nKVu39EEJTlllKk+xLn7lOBqblYZpyZGXAbcO/+KC8HcnS+ysHjAD7ncsTd7+Ug3wcR+XfL6xbkrESD9zUAZtYxXR/BjmZW3szeC/thDoqtYGY1zew1M/s97L/6o5n1NLOESJ6O6fsZhn3m2pjZBWb2d/r+iGZWDXiISHAcrjPRzNpkc98eiDzPR9BiHtUWmOXuv+9uQ2ZWx8yeNrP/M7M/zGylmb1pZodE8lQxs48j+7IwTL8yXGeRmdWI5D/PzCab2V9m9mtkvT/C/WwVHtto3+iO4bq1zOx/0eNmZqeZ2ddmttnMfjGzdtnYr37Am5GkiuG2jorkKW9BP+0FYV/c2WZ2V9hNJ5anXvj6p38d+5jZinCdzPpI9gSuB2LdhzqGdYjXy8ySzGywmf0W1uFnMxtuZmUieW4xsy2ROrxpZneb2ftmtilc7+RsHJM9OV9726792N+OHJvFYdrfZpYU2e5VZjbdzL4J30N9zGy33ajM7EIzmxWuuzq2v3t7HLKqj5mVC7cRP7/NrKkF5/ym8Py+OoNtFjCzgWH+H81sNHDS7vYxg+0UNrMBFvQDn2XB++RhMyuWLl9rM3vLzMaa2Voz+9PMhphZtMtVds65BAuuZT+Y2XdmNs/MrsqgXi3NbIIF9wnMjhyf5eE2L4vkzc718gQzmxvZzkgzy29mD4T7M8nMilraa4Zb5NoSbucIM3s7rPuf4XlQKV2eruF+TbOd1/zBOX1tRET2mLtnOlXv+4Fnd8pqO5lNQEeCVlEPqhJPLwlsiizrEVn2RiT9RmBWZH5OmKc2sDJMOy5MGxzOfwzkS1ePXeoQpl8SWTYxO+tkY3/vCp9PiGxjPVA8ku9j4Pj05cTWjeQ7LjxOo8P5osDiMO9vQOFI3jqR7Swk6MKREkm7KMzXM5zfRNDnNz/wTZi2JIN6xtbvGEk/K5K+AXgEOAZYFKYlA+WycbxqROucblm5cB8duDRM6xzO/wAUjeQ9I/o6EnTPSI2kHZ1FHe7K4vgXBqaFy24L09pEjnHlSN7bI9vZDDQO0/8bpm0FTsjmeZSj85WgJS+WvjbdOo2AVUD5SNpDYd5+4fzAcH7Ibup1bHhOfRLOJwJjgDf35jhkpz5A/ch2twCvAs2B78K0VKBBuu2+Hy77EUgI6zs5o2OYxT4XBL4I8x8bbiM5nH8vkq9HmNYtnG8cKee1HJxzBrwdLrskTHspnO8SyXchQVcuB5qFae+E8xuBGpG82b5eAjdE6jYSeJm076XyBP3gN0TSomWdEC77Kcx3eFjPXwmvLcBF4XpPh/OlCbpqDM7utVaTJk2a9nY64FqQzawk8CzBBw0EH3SPR7JsjTzvTdAf9QyCQOXRMP1ZoCywxt2nhGnvho9nANkdBWJZTuqeQ0Mjz4sBnSAY4YPgg2JyNrZxC8FxOtfMDnX3TUCs1bkmcGQkb/S4lQGaEHzwPE/QR/CzsBUn1kozxd0XedDvd2yYVgn4T2Q7mR2fjZHnv7t7D3efBnwVphUhCO73xjCCfQT4IHyMvcZHkbbfenTf6xN8IFckCDTeIwiQ9sRtwNHp6vAJQeBXneCLQczSyPP33f2H8PkL4WNB0v6ysCcyez0GEwTBACXN7OjIsmbAg+6+AsDMTmNnv/hnwsfY69/bghtTM9Oe4BeR483sZHdPBq4E/ozkydFxyEF9oufcBuAad58OjI9tCjglst3z2HmD6Sh3TwnrOzCL/ctIL+BkgvN8ariNb8JlLSP57gwfe4aPMyPLzslBeZ2A84F17LxHIXY87jezImZWkOD+gATgN3f/Nlwee38UJXhdYnJyvYy+l84k+MJZi+A4P+fuK9x9O7A6fcXNrADwGpAEvODu2939V2BuuI2uYdaLw8ezzayBu68J03a5Z0VEJLccUAGymX1J0IJThSBwO9XdO7h7SiarfOnuM919vLsf6+4jzKwO0CJcvjySN3rBvpY85u4TSBuYdQ9/zryRoMUsOz4hCPaWAxss6LtcMLK8aCbrJREERX+7eyd3P9XdVxP0X42tHz120cCrcjbrFrM28jz64brHQz9Z0BUg1od7s7vHbuiMvsZXh8cjvSTggfCD/EJ3/4+7b9vDqlwXeb4cwibdsEsQ8B8LbuaEtP3HN8eeuPsSdgZ3x6X/qXlfcPeN7PzyCGlv/roIeDIyHxs95u8wMIGdr2EC0CqLomIBTBLwafiTeIq73xqtTuR5do7DntRnU+Q1zeycuyTyfH7keTR/dnQOH6Pvl+sIbpKMlhH7AvVr+BgdvjKz92lGYsfjD3dPDZ/HjkdJglbzRgQBb/p67fI+3svrZbK7v+Duv7v7Ge5+XSb5YloRfHGE4MbemFj9Tw8fY+dRJeAbM+sNLHP3+3ezfRGRfSavb9JLw91b7D5XGt9nkNYw8nxz5Hk0yK5nZhYGM3npAYIWFQi6E3QgaHXqmdkKUe7+jJnFfl69jODDs0okS2ZfgNa5+4IM0pMjz1Mzeb4oO3XLhoTdZ8nUEewcziyz17gMwRB50RZLgJ89GCllr5hZOYIP8JiM6pGfoGvLFLK2niCoBDiMXeu8LzwO3BqWc4GZHU4QUM1y978j+RqEj8VsZ3/n/AQ3l0LWwdyTBK2NFQhe375AGzM7292zc95kdBz2pj7pRc+5OpHnm3KwjTgL+pnHAr6SsfSwVTTNEITufpUF45cXNLMBpL2ZMidDZMaOx+GR41GYncejBGmD2929j/fmevkDOdMg8vw+M7s5fF6OoP6x7Q8l+OKWSLBvw4AzzewCd1+XwzJFRPbIARUg74G/M0iLfthEh1OLfjgeKPs9CrifnR+yTxH0s8ysxTwjx4XrOcFPyG+RNkjOSEbHDYJ+fusIPuyjo1PEAsH17GwJ21s5Hjc7k3Uze41hZxAdldm+700dsqpHRnVIL7MgZp9x97Vm9izBl698BMFyfmBAJqvkAy4LW3azW8ZKMzuBYJSW2Ag0jYAPzKxxpMUzM1kdhxzXJwPR12xfXAOiv9bUNrPSkVbujFxJ8H4fT9A9YU9/uYDgeLTK6JiGv0T9StC/N6P38Q52jvW8N9fLvXkvvZZZi7C7/2xmLQnqGOtG1Qp4hZ3dYkREctUB1cViH5kdeR5tXUqMPJ93ALQeE/bvjXan2ErQtSRbwn6UnwF1CW5UW76bVXZXn/XA5QQtSSeGd5sXJ/ipeDNBgLKvAsy9MY+dLVyZvcYbCG5Y3FuZnScrwykms3rMzUYZ0dEOdjtyyV4YTvBnIhAEa+7uf6bLE/1loW36DaQfmSHdsg7h9o8huBEyFnA1JG1LZWYyOg57XJ/diG63xB5uYwU7uwMkkLbLTRpm9hDBF9mtwFVhP93MZHVtitW7MJE+1WEZ+cwsMfyCfRlBV59aZnZK2P+3I8H7pqu7x7qV7M/rZfSYtzFLOypK7LUMW5bnEHy5GhHJclZ4j4qISK7L6wA5TYtf+gtmdtZJz91nA9PD2TKRReUjzzP9U4ss6pA+Pad9FWPSH/Pn2NkH75mwv2isLunzpq/D0Mj2VoUtR5n17c1WlwZ3H0fQWrOJ4C7/LwhuOmrs7h9mseretAhnR3z7YZD+TjhbNDJMVvQ1fjXSEr833TkyfJ3DgGFkJKkMQHiDVCzg+ih281s68X0Jf6aP5Z/q7jm6MTQH5yvu/hc7u/QUJG2/5JgxkecPhC15sSHR7iO4ATIzCUDv8OarAaTtg5ucQf7sHIe9qU9W3ok8rxd5Hm3xz/KcDs+vNyJJA8ysbVi/ghYMYVcpvJHw5jDPemB7pG96RrK6tkSPx3Nm1jAsryhBF5fKYd2+JRhVYxHBDZDTCALm49z92cg+5PR6uSfvpdhx/JSdrc4nAYPCwJ3wdf1vuKwkcIO7b3T3LuzsM7+DnV/wRERyVV4HyEemm6+TYa60ojeJZfYhcx3BB1FFM2sSpsVanyYRabU1s/TdEaJ36Ud/nkx/c1rsTvXYeLzHhCNQZCgMXtsALWIfCgDhyBNPElz80wcsddPNp99+ycjz2CgR0Z9DzzOz2E1M0fonReuQrp5nE9z8V9fdD3f3pu5+jbvPyyB79PhEj2PRTJ4nRZ5HW6gyE91mGTOL3tjUk2DYOYDYuMqx13gO0D+SN7rvOfnnQ4i8zkB5C1wRzt/Nzha4WB3OIHhfLWHnXfnpnWdmzcPnsZsNtwF9dleZvThfY4YStFBOcPcfM1j+GjsDplLARDNbSjAKRkF3/99uqtjddo45HBs9YaK7/5JB3uwch+zWJ6fn3KsEf2MP0MGC8awLszNIg6Bv7O70Z2fLaBFgnJktJuiqtM7dl5K2hbo2wQgWb4Z5gPgY0bGuVlmdc49GyqsBzDCzvwhusJsVaxkORyqZApzt7oe6exN3vygc2SO9bF8vycb1N7y2RJdVgfgX22iXnr7AOjNbRDBCSfTfH+83szPC57Hz6NXweikikvs8izHgcmscZIJg4ifSjvHrBBfpyUBCJus9nS7/ZjIZG5PgRq7RBB8mUwh+lh8AFInkuZrgzu7oNlcS9A+8kOCu+uiyn2PrE3w4fRHWYTxwQRb7ey7wV2Q7y4H/RpZXIBgiKTZfhKA/8N8ZHKP5hOOdEgx9tIwgWBhBECCdQDAG70aCD51CBDfHrEq3nV+BWhnUdXm4fDVB94C5BGNNf0UQyNcO872ZbntbgUEEwzV9FUnfFh7ns8PXN5Y+g3B81kyO2e0ELevRMv4iHDc3zFOVoHXsD4K/WP6N4MO8VCTP6enKdYJzLykH5+vN4XFeQ9CHNDpmcCngYYLz7GuCrgHPA1XSbaNjpPx3wnU+DF/j/wEnZaMee3y+ptvO/wGnZ1FOCYIh6v4iGFN4DuH4vbupX8d0Zf9KME5umb05DrurD0EgOzbdvvcn6J+/JJL2B3BauvVeDs+zWQTn9w0EXSe+C4/TZdnY70rhebiSoKV8KvCfdHkeIOj28zvB8ICFgG5h2cuB7jk45yoT/HqxIizvO+DidOvHxi7/m53v49kE18IXSffeI3vXy47h8Y8e54nptlMk3EY0z2oi10fgirDOm8N9fAGoEFl+FzvHrp5B8L5+BEjM7ntWkyZNmvZ2MncnMzX6fZj5wnQWDm6X2z+xy34QtkZldZPfGoLW5ZVZ5JF0LPinwRfD2ZfcvWPe1Sbv6DjsH2b2NXB8Flm2Ak3cfc5+qpKIyEElr7tYyIHnEtL+6UJ6pQn+GEFEDlzXknZc4/QKsbNbkIiIpKMAWeLCsXH/j+Df5UoRnB8JBD+bVmPnDV77aizkfxP9whLQcchl4Q2AHxF0RYmNSZ2PYOSLSgTjCoPexyIimVKALFEVCe5kL0TwL1nu7qnuvoWgL2MpYLS7T83LSh6kon8qktXfNf/T6TjkvpIE3aQKEryPU8P38lZ2jnM+meCv1kVEJAMHyh9myAHA3f9nZu2ATsB0M/ub4Ca7HQTDvr3FzlZkySYz60Nw41HMqWb2I9DO3ffFWM0HBR2H/cPdfw+HTbsR+NrM1hO8j7cRDJM2nuCmQA2ZJiKSCd2kJyIiIiISoS4WIiIiIiIRCpBFRERERCIUIIuIiIiIRChAFhERERGJUIAsIiIiIhKhAFlEREREJEIBsoiIiIhIhP4o5J8t2+NYi4iIiOSxA+Y/NfK8BdnMDjWzh8xsrJm9aGbPm9lTZnaemX2U1/WTfWfBggWULl2at956C4C///6bJ554gqOOOoqRI0dmmpbRupK5bdu28eabb3L66adz7bXXZpn3gQceoEqVKmzcuDFb2960aRPPPfccxx9/PAMHDtwX1c1VGzdupEqVKjzwwAN5Wo/t27dz77330rVrVw499FAuvvhi1q5dm2vlff3111x99dXUr18/18rYHxo0aMCNN96Y6+WMGjWK0qVLs2DBglwva19Zvnw5vXr14sorr6RKlSrccccdZPXHX3vrhx9+oFu3bpQqVWqvtrOn1/KD7dojB788DZDN7ELgW2AmcI67X+3u1wK3AZcCx+Vl/WTfKlmyJK1bt6ZmzZpAEDQUK1aMGTNmxPNklJbRurlt+/bt/PTTT/ulrH0tJSWFI444gv/973+kpKRkmbdevXq0bt2awoULZ2vbO3bsoFatWkyZMiVXP4z3lcKFC9O6dWvq1auXp/W4+eabSU5O5sknn2Ts2LFMnDiRyZMn51p5FSpUYM6cOdn+4nMg+P3331m3bl2atNatW9O0adNcL/vQQw+ldevWlCxZMk36999/n+tl74mUlBROP/102rRpw8svv8yQIUN4/PHHWbVq1T4tJ7r/pUqVYsmSJbu8Rjm1p9fyg+3aIwe/PAuQzaw58BrwiLu/6JEz3t3XAVcQBM7yD1GqVClGjRpF8+bNAShbtiwnnHBCmjwZpWW0bm579tln+e677/ZLWftakSJFaNSoEeXKldtt3nbt2vHSSy+RP3/2eluVKFGCFi1a7G0V95v8+fPz0ksv0a5duzyrw7Zt23jhhRfiAUH9+vVZvnx5rtapVq1a1KlTJ9e2nxv69eu3S/D10EMPcfXVV+d62c2bN2fUqFFpWkeXLl3K3Xffnetl74nJkyczc+bM+Dl1xRVXsHbt2my957Nr06ZN3HLLLfH5GjVq0KBBg73e7p5eyw+2a48c/PKyBXl4WP4jGS10923AkP1aI9nvEhISspW2P40fP56ePXvmaR32hXz5cuftnVvb/adasWIFW7ZsyfaXkH3lYHqdBg4cyOjRo/O6GnFr1qzhrLPO2uvW0tzyxx9/AOTaObV582bat2/P77//niY9r8+pvC5f/l3y5Gwzs5rAicC37v53Zvnc/cN0690Q9k9+0symm1k/M8sXLmtsZo+Z2WozK2FmI81so5l9b2ZVIts4zcweNLMhZvaLmX0bpl9uZkvMbGE4X9TMuptZipmNDNMamtkjYRlJZva0ma01s7lm1jTsT/2JmW02s6lmVilSbv6wvg+b2edmNs3MTkm33VVmVtvMZofbLJJZfTM5rgXNbJiZPW5mjzRo0IDnnnsOgOTkZEaOHEmLFi0YOHAgd955J8WKFePpp58Ggp/Sbr75Zq688krq169Pjx49SE5OzrCcxx57jAIFCnDIIYcwa9Ysfv/9dy699FLMjHPPPZdffvkFgE8//ZRixYrx6KOPsn79ep588kmaNGmSpm9xdmS07g8//ED37t0pU6YMf//9Nx07diQpKYkmTZqwePHi+LqpqakMHTqU/v378+CDD9K1a1c2b96caVnz5s3j1VdfZdu2bbz00kt07tw5vj9//vkn119/Pbfeeivt2rWjXbt2zJ49O9NtTZ48meuuu46GDRsyf/58TjzxRJKSkmjZsiU///xzPN/s2bO56KKLGDBgAOeccw4nn3wy8+bNA2DkyJEULlwYM+Phhx+Or/PNN99QsWJFbrrppt3+3PjVV1/RsGFDihYtyq233hpPnzNnDj179qRMmTJp8v/1119cd911PPHEE/Tu3TvL1+vdd9+lVq1alChRgkceSftdN7NzanfnYk6P4W+//Ub//v2pWrUq33zzDSeccAKVK1dm8eLFvPLKK/Fyol577TU6d+5Mp06dMjwnn3rqKW6++WbOOussGjZsyJgxY9LsV48ePejfvz9NmzalbNmymR6fJ554It4K9+KLL9KpUye++OILIAjCbrrpJvr06UP79u1p0aIFX3/9NRB08RkzZgxnnnkmnTp14umnn6ZkyZL0798/07LGjx/PBRdcQM+ePTn//POZNWvWLnmy2q/sHJd33nmH6667jh49enDsscfSt29ftmzZstvXIatzfNy4cUycOBGA/v3707lzZ1JSUvi///s/2rVrF+9HP3nyZBo0aICZ0bVrV/7+O/jo+Omnn2jSpAk333wz27ZtA+Ctt96iR48eXHDBBdSrV4+nnnoq0+P2xx9/cMcdd1C1alUWLlxIamoqjzzyCEuXLuWXX36hc+fOvPTSS0DQqnrHHXdw0003cfzxx3Pqqafy448/AkG/72uuuSb+C8HFF19M8eLFadasGQsXLuTHH3/kuOOOo0iRIrRt2zZN95fXX3+dfv360bt3bypXrsyFF16YaX1vuukmnn32WSBode/UqRNLliwBYObMmVx77bX06dOHU089lUsuuYRFixYBsHbtWh5//HGaNGnC888/T6dOnShevDgffvjhLmU8/fTT/Pbbb6xevZrOnTszfPjwNMvXrVvH5ZdfTtGiRTn66KNZtmxZfNmOHTsYPHgwN998M61ateKYY46Jn/MZXctnzpxJjx49KFu2LL/88gtHHnkkdevWzfI6DVlfe7K6VseuPyeddBIDBw5k/PjxNGrUiKSkJLp3746788gjj1C1alVKlizJo48+mmbbOfmslIOcu2c6Ve/7gWd3ymo76SegHcEIC2/nYJ1+wPuR+drAVmBYOF8ZeD3c7n+BWkCTMM+jYZ4CwILINkoBH0TmXwYWpiv3T2Bk+PxwYGxYRk+gJlAPWAnMCOtYHWgGJMfKDdd9Djg6Mv8isAmoAdSJbPd2oD3wLFAoq/pmcIz+CyyJzfft29cTEhJ848aNvnr1ah83bpwDfswxx/jYsWP9xhtv9I8//th//vlnv/jiiz01NdXd3efPn+/58+f3Ll26eGauueYar1SpkqekpLi7+8aNG7148eJ+2223xfOsXr3ar7rqKnd3X7lypb/44osO+IsvvhjPs2DBgt2mZbTu4sWL/dJLL3XA77nnHv/111/9u+++84IFC3r37t3j2xo0aJA3bNgwPv/iiy96uXLlvEWLFv74449nuG8Z1WnVqlVepUoVnz59ejytY8eOXrJkSV+0aFGG25k3b54fffTRXr58eb/99tv9xx9/9JdfftkLFy7stWrV8i1btri7+2GHHRY/bjt27PDKlSv7xRdfHN/OkCFDHPC5c+fG0zZv3uzNmzfPsNyY6tWre6NGjfz555/35cuX+6233uqAz5o1y92D1/nss8/24DIQ2L59ux955JE+fPjweNopp5zi9erV85NPPtnnz5/v7u6At2jRwt966y1fvny5X3bZZV6wYEFfu3atu3uW51RW5+KeHMPffvvNb7jhBgf8xhtv9A8++MA7dOjg69at848//tgBHzBgQHybjzzyiF900UXx+dtuu80B//77793d/e677/ZRo0bFl991112eL18+nzJliru716tXz9etW+fu7lu3bvWTTz45y9cho/Npy5Yt3rBhQx8zZkyacgoWLOjffvutb9y40adMmeKFCxf2Bg0a+Ouvv+633367v/zyyxmWMWHCBK9YsaKvWrXK3YP3TNmyZb169erxPLvbr90dl9dff90bN27s27dvd3f3FStWeLly5fyCCy5wd8/yddjdOR57fy9YsCB+fL755hsvVKhQ/Bri7j5z5kwHfMSIEfG01NRU/89//hM/115++WUfOnRofPnIkSMd8LfeeivDY/fHH394ly5d0pTv7t6yZUtv2bJlmrxnn312PM+OHTv81FNP9QoVKvjff//ts2bN8iZNmniZMmX80Ucf9SVLlvhXX33lBQsW9BYtWvhDDz3kS5YsiZ/7Dz74oLsH17Loe/m3337zyy+/PMO6Zna83N1//fVXL1++vP/555/uHryXW7du7dWrV/cNGzb40qVL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lTEgLOMCYAlB3+TuBDcUXk9wU9564Kpw20UIxnxeBawOt1kiXHYaMCvc7lPsvOkwy/pmcCxPAxYRdF+595tvvvFixYr5JZdc4n/++Wf8hqwqVarscpPaF1984c2bN/dChQp5/fr1fezYsZ4dX331lfft2zdNWu/evX3q1Klp0pYsWeKdO3d2wE8++WT/8ccf06S1bNnSJ0+evNu02LoTJ070evXqOeADBw705cuX+0svveTFixf3pKQkHzlypLu7jxkzxkuWLOklS5b0AgUKeHg8vVKlSv7HH39kul/du3f3YsWK+fXXXx+/keqnn37y008/3U866STv2rWrd+rUKX4DZGauuuoqL1OmjHfp0sUHDhzoV155pffs2TM+gkWsrKSkJG/UqJFPmDDBb7vtNi9dunR8H6Kuvvpqf+qpp7Isc/Pmzf7www97vnz5/JBDDvExY8b4woUL/aabboofwx9++MG/+uqr+DG86667fN26dZ6amurnnHOOV6xY0RMTEz0hISF+zC6//HJftWqV//e//3XAGzVq5OPHj/fZs2fHRxRp3769//LLL+6e+Tm1YsWKLM/FnB7DKVOm+EknneSAX3DBBT579mx3d1+3bp3feeedDniDBg3iN5KlpKT4wIEDvUKFCl6yZEm/4oorfMWKFfHyYssrV67sxYsX93PPPdeXLFkSX16oUCGvUqWK33zzzd67d29/7LHHMq37N9984+edd54DftRRR/moUaPid9v/8ccffuGFF/rRRx/tXbp08Y4dO/pPP/3k7sENe8OHD/d8+fJ58eLF09yElpGtW7d6jx49vGTJkl6mTBnv0aOHX3755X7GGWf422+/7du3b9/tfu3uuLi7P/30016/fn2/9NJLvVOnTj5o0KD4DVuZvQ7uuz/H169f7y1btvTSpUv7iBEjfNu2bf7oo4+6mXnlypV93Lhxu+xz3759/bPPPsvweDzxxBN+6KGHemJiop9yyilpRoBJ78cff/QWLVo44F27do0fk08//dQrVKjgjRo18nnz5rl7MDJPhw4dvHjx4l6xYkXv1atX/Dx8//33vWLFip4vXz5/7LHHfN26df7888970aJFvXjx4v7888/72rVrfdiwYZ6QkOBVqlTx9957z6dMmeKAN23a1G+77Ta/4YYbsrxJ79133/X69es74BdffLG///778WVffvml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05KTkxk7dixt27bNcJ2nnnqKUqVKcfHFF6dZJ2bTpk1k8wcfERGRPJGdvrIHJHf/28xGAZcR9P2938zucPcdAGbWgoz3bzawmaAV+WIze5Ogu8OF4fKVwB/h89inetHc2YtMzQe2ELQiXxDWsShw1n6uh/zDJScnM27cOAAWL17M+vXrGTMm+DHlzDPPJDExkX79+nHPPfdQqlQp6taty/Dhw0lNTaV79+67bG/NmjUMHDiQTz75JJ7WokULbr31Vl544QXcnc8//1w37omIyAHtoA2QQ92BIwgC5H5ANzNbCFQBSgM906/g7pvM7H6CvsbnAAsJAuTKYZY73D01fD433P75ZvYdMNPdr861vdlZx2QzewzoA1wA/E5wI19ibpct/y4rVqygffv2adJi8wsWLKBGjRr069eP1NRUBg0axOrVq2nWrBkTJkygQoVdexLdddddnHPOOTRp0iSe1rhxY4YOHUr//v0BGDZsGI0aNcrFvRIREdk7drD/1GlmhYGuwMUEwWxBgpvrJgFDCUa6GADg7hZZ72qCUSLqEXRjmAkMd/dRkTz1gOeBowhac79z92Zmdlf6bZrZyUBs1IxT3H1iJvkmAi2BSe5+cpiWUb6CBKNaxP5+7HUgJazzFneP9aPO1KxZsw7uF1eyrX79+nldBRERkb11wPyj1EEfIP9TmVkFgkD473C+CDCd4CbDqe6+239eUID876EAWURE/gEOmAD5YO9i8U92HPCqmU0HNgDNgYoEN/TdkZcVExEREfknO5hHsfinWwB8BzQEziToJ/0+0MLdP83LiomIiIj8k6kF+QAVjpHcMq/rISIiIvJvoxZkEREREZEIBcgiIiIiIhEKkEVEREREIhQgi4iIiIhEKEAWEREREYlQgCwiIiIiEqEAWUREREQkQgGyiIiIiEiEAmQRERERkQgFyCIiIiIiEQqQRUREREQizN3zug6Se/TiioiIyMHC8roCMWpBFhERERGJUIAsIiIiIhKhAFlEREREJEIBsoiIiIhIhAJkEREREZEIBcgiIiIiIhEKkEVEREREIhQgi4iIiIhEKEAWEREREYlQgCwiIiIiEqEAWUREREQkQgGyiIiIiEiEAmQRERERkQgFyCIiIiIiEQqQRUREREQiFCCLiIiIiEQoQBYRERERiVCALCIiIiISoQBZRERERCRCAbKIiIiISIQCZBERERGRCAXIIiIiIiIReR4gm9nlZvZKurTzzcwj0zYzW2Bmg8yscA63b2Z2nZlV3os61jSzn8J6vLun29nXzOwFM/sut8t5/vnnOeKIIyhSpAhNmzblk08+SbM8NTWVu+++mxo1alC+fHl69+7N9u3b48s3b95Mnz59OOSQQ0hKSqJdu3bMnz8/zTbef/99GjduTGJiIvXq1eO1117Lsk4rV67k8ccf36v9atiwIWbGH3/8keHyq6++GjPj9ddf36ty0ktNTWXw4MHUrFmTxMREWrRowbfffpsmz5YtW+jRoweVK1ematWqDB48GHePL1+zZg2dOnWiYsWKlChRgssuu4wVK1ak2ca4ceNo2rQpSUlJNG3alC+//HKf7oeIiMg/lrvnyQSUBj4AhgBvA48B54XL7gcWAoXDqSTQCvgdeDeH5XQA/gZsL+r6FPANUBGonFfHLIN6/QSMyCLPXnv55Ze9QIEC/vrrr/vKlSt9yJAhXrBgQf/555/jebp06eINGzb0n376yRcuXOjNmjXz+++/P778mmuu8WrVqvmUKVN88eLF3r59e69Zs6Zv377d3d0nTpzo+fLl84cffthXrlzpL7/8sickJPhnn32Wab1atWrlN9544x7v16ZNmzwhIcHz5cvn48eP32X5jz/+6IULF3bA582bt8flZOTuu+/2kiVL+scff+zLly/3m266yUuVKuWrVq1yd/fU1FRv166dn3rqqf7777/77Nmz/dBDD/XXX389vo1TTz3VjzrqKJ81a5b/9ttv3qJFCz/ppJPiyydNmuQFCxb0559/3lesWOG33367JyUl+Z9//rlP90VERGQfyvPYKjblZXCXBFwKzAKSgRuBQ8Nl44F3MlinFeDA0Tko5wng872s62zgzrx+sdLVKRHYAXTKIt9ea9y4sXft2jVNWt26df3uu+929yAQS0hI8Llz58aXjxw50o844gh3d1+zZo0nJCT4qFGj4suXLVvmgH/55Zfu7n7eeef5mWeemaaMNm3a+DXXXJNhnVJSUrxYsWL+0ksv7fF+ffXVVw54/fr1/bHHHttl+WmnneZNmzb1EiVKeGpq6h6Xk15KSoqXLVvWhw4dGk/bsWOHFy1a1F9++WV3D76UFC9e3FevXh3Pc9ddd3nbtm3d3X3GjBkO+DfffBNfPnXqVAfiAfBZZ53ll112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PhAfiu3BBx/0Qw45JM0Z2LdvX2/SpElmJ6i7u993332eP39+//rrr33z5s3xKXbz2datW7169ep+5513+rJly/yRRx7xxMREnz59enwbp512mlevXt2XLVuWZhuxoPq1115zwEeNGpVmeWY38L3yyisO+F9//eVbtmzxdevWedmyZf2aa67xpUuX+g8//ODHHnusN2jQwJOTkzPcRvv27dO00rZp08aPOuqoNDfrValSxW+77TZ3dx87dqwnJCT4xx9/7GvWrPGXX37ZixUr5vnz5/fU1FRPTU31EiVK+DvvvJPl8XR3v+6667x48eLx1uvYFBsTeuXKlV6sWDF/+umnfenSpd63b18vW7asL1y40N2Dmwjr1q3rzZo18/Xr16fZRqwVvXPnzl63bl2fMWOGL1u2zB988EHPnz+/v/fee7utn4iISB7K81g0NuV5BdJUBi4LA9LYlEow+sPHwNnp8hYEXiLoV7wMeBMYCiyO5HmLoH/uA+H8aQSjWGwiaF2+Otz+dZnU59ZYwB3O308G3TEIunZMCstaQtAfuUS4rF64L/Ui+Z8ExkfmCxGMgnF+JvVIJLgpb004vRoL2iPlf0fwJWIe0AeYEWvRvPTSS/28885Lcwa2atXKO3fuvMuZGVWzZs3oaxGf+vXrF8/z008/+XHHHedJSUl+wgkn+LRp0+LLYt04MppiLbWtWrXKcPkll1ySYZ1+/vlnr1WrlicmJvp3333n7kGrcosWLbxw4cJeqVIl7969e5qbEdM79NBD/dZbb43P9+jRw/Ply+czZ850d/clS5Y44G+//XY8T+/evb1UqVJepkwZP/PMM33QoEGeL18+37Jli8+bN8+JjEGcmS1btniRIkUy3N/o+MSTJk3yhg0berFixbxNmzZpxpj+8ssvMz2msXzJycl+yy23+CGHHOJJSUl+4oknZnpTpIiIyAEkz2PR2GQeBFjyz6QXV0RERA4WB8xg/QfiKBYiIiIiInlm178qk3+SA+abmIiIiMjBQi3IIiIiIiIRCpBFRERERCIUIIuIiIiIRChAFhERERGJUIAsIiIiIhKhAFlEREREJEIBsoiIiIhIxP8DyiVHXZMA79IAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Define figure\n",
"fig,ax = plt.subplots(figsize = (10,6))\n",
"\n",
"# add title to plot\n",
"title = 'Profit Margin for top five spend categories'\n",
"plt.text(s=title, # the text to be displayed\n",
" x = 0,y = 0.91, # the position of the text (x, y)\n",
" fontname = 'Times New Roman', # the font to be used for the text\n",
" fontweight = \"bold\", # the weight of the font (e.g. bold)\n",
" fontsize = 22, # the size of the font\n",
" ha='left', # horizontal alignment of the text ('left', 'center', 'right')\n",
" transform = fig.transFigure # the coordinate system to use for positioning the text\n",
")\n",
"\n",
"# add subtitle to plot\n",
"subtitle = 'Consumers are willing to pay higher prices for decorative items for their home.'\n",
"plt.text(s=subtitle, # the text to be displayed\n",
" x = 0, y = 0.85, # the position of the text (x, y)\n",
" fontname = 'Times New Roman', # the font to be used for the text\n",
" fontsize = 18, # the size of the font\n",
" ha = 'left', # horizontal alignment of the text ('left', 'center', 'right')\n",
" transform = fig.transFigure # the coordinate system to use for positioning the text\n",
")\n",
"\n",
"# Create bar plot\n",
"bars = plt.barh(df['Spend_Category'], \n",
" df['Profit_Margin'], \n",
" color = ['lightgray', 'lightgray', 'lightgray', 'lightgray', \"black\"], # color for bars\n",
" edgecolor='none')\n",
"\n",
"# add margin\n",
"plt.margins(y=0.14)\n",
"\n",
"# remove plot borders\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.spines['bottom'].set_visible(False)\n",
"ax.spines['left'].set_visible(False)\n",
"\n",
"\n",
"# remove xlabels\n",
"ax.set_xticklabels([])\n",
"ax.set_xticks([])\n",
"\n",
"# position and format ylabels\n",
"ax.tick_params(axis='y', left=False)\n",
"plt.yticks(fontsize=14, fontweight='bold')\n",
"\n",
"plt.bar_label(\n",
" bars, # the bars object to add labels to\n",
" labels=[f'{x:.0%}' for x in bars.datavalues], # the list of labels to display on each bar\n",
" padding=12, # padding between the bar and the label\n",
" fontsize=15 # font size of the labels\n",
")\n",
"\n",
"# add line\n",
"ax.plot(\n",
" [-0.025, .94], # X-coordinates of the ends of the line\n",
" [.8335, .8335], # Y-coordinates of the ends of the line\n",
" transform = fig.transFigure, # Coordinate system for the line\n",
" clip_on = False, # Whether to clip the line to the axes bounds\n",
" color = 'tab:blue', # Color of the line\n",
" linewidth = 3 # Width of the line\n",
")\n",
"\n",
"\n",
"# add rectangle\n",
"ax.add_patch(\n",
" plt.Rectangle(\n",
" (-0.03,.95), # (x, y) location of the bottom-left corner of the rectangle\n",
" 0.015, # width of the rectangle\n",
" -0.12, # height of the rectangle\n",
" facecolor = 'tab:blue', # fill color of the rectangle\n",
" transform = fig.transFigure, # coordinate system used for the rectangle\n",
" clip_on = False, # whether the rectangle is drawn outside the plot area\n",
" linewidth = 0 # width of the edge line of the rectangle\n",
" )\n",
")\n",
"\n",
"# add footnote\n",
"footnote = \"*Data from Jan-2022 to Mar-2023\"\n",
"plt.text(s = footnote,\n",
" x = 0,\n",
" y = 0.13,\n",
" fontname = 'Arial',\n",
" fontstyle = 'italic',\n",
" fontsize = 15,\n",
" ha = 'left',\n",
" transform = fig.transFigure\n",
");"
]
}
],
"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.9.13"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 5
}