<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://entorb.net//wiki/index.php?action=history&amp;feed=atom&amp;title=Matplotlib</id>
	<title>Matplotlib - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://entorb.net//wiki/index.php?action=history&amp;feed=atom&amp;title=Matplotlib"/>
	<link rel="alternate" type="text/html" href="https://entorb.net//wiki/index.php?title=Matplotlib&amp;action=history"/>
	<updated>2026-05-06T10:23:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://entorb.net//wiki/index.php?title=Matplotlib&amp;diff=5018&amp;oldid=prev</id>
		<title>Torben at 21:23, 16 November 2024</title>
		<link rel="alternate" type="text/html" href="https://entorb.net//wiki/index.php?title=Matplotlib&amp;diff=5018&amp;oldid=prev"/>
		<updated>2024-11-16T21:23:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Coding]][[Category:Python]]&lt;br /&gt;
==Matplotlib==&lt;br /&gt;
&lt;br /&gt;
===Simple Pandas DataFrame Plotting===&lt;br /&gt;
 plt = df[&amp;quot;watt&amp;quot;].plot()&lt;br /&gt;
 fig = plt.get_figure()&lt;br /&gt;
 fig.tight_layout()&lt;br /&gt;
 fig.savefig(&amp;quot;plot.png&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Plotting using pandas and matplotlib===&lt;br /&gt;
plot time series data with fancy formatting using ConciseDateFormatter, german locale, etc.&lt;br /&gt;
 import locale&lt;br /&gt;
 &lt;br /&gt;
 import matplotlib.dates as mdates&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 import matplotlib.ticker as mticker&lt;br /&gt;
 import pandas as pd&lt;br /&gt;
 &lt;br /&gt;
 locale.setlocale(locale.LC_ALL, &amp;quot;de_DE.UTF-8&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 df = pd.DataFrame()&lt;br /&gt;
 &lt;br /&gt;
 fig, ax = plt.subplots(&lt;br /&gt;
     nrows=1,&lt;br /&gt;
     ncols=1,&lt;br /&gt;
     # figsize=(6, 8),  # default = 6.4,4.8&lt;br /&gt;
     dpi=100,&lt;br /&gt;
 )&lt;br /&gt;
 # , sharex=True,&lt;br /&gt;
 &lt;br /&gt;
 # plot data&lt;br /&gt;
 df[&amp;quot;value_pct&amp;quot;].plot(ax=ax, style=&amp;quot;.&amp;quot;, legend=True, zorder=2)&lt;br /&gt;
 # plot mean value in the same color as the last line&lt;br /&gt;
 mean_value = df[&amp;quot;value_pct&amp;quot;].mean() &lt;br /&gt;
 last_line_color = ax.get_lines()[-1].get_color()&lt;br /&gt;
 plt.axhline(mean_value, color=last_line_color, linestyle=&amp;quot;--&amp;quot;, linewidth=2)&lt;br /&gt;
&lt;br /&gt;
 df[&amp;quot;linregress&amp;quot;].plot(ax=ax, style=&amp;quot;-&amp;quot;, legend=True, zorder=1)&lt;br /&gt;
 plt.legend([&amp;quot;Data&amp;quot;, &amp;quot;Fit&amp;quot;])&lt;br /&gt;
 &lt;br /&gt;
 # plot 2 guiding lines&lt;br /&gt;
 y_last = df[&amp;quot;value_pct&amp;quot;].iloc[-1]&lt;br /&gt;
 # y_min = df[&amp;quot;value_pct&amp;quot;].min()&lt;br /&gt;
 # y_max = df[&amp;quot;value_pct&amp;quot;].max()&lt;br /&gt;
 plt.axhline(y=0.0, color=&amp;quot;black&amp;quot;, linestyle=&amp;quot;-&amp;quot;)&lt;br /&gt;
 plt.axhline(y=y_last, color=&amp;quot;blue&amp;quot;, linestyle=&amp;quot;dotted&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 # x tics&lt;br /&gt;
 # fancy formatting using ConciseDateFormatter&lt;br /&gt;
 x_tic_locator = mdates.AutoDateLocator(minticks=3, maxticks=7)&lt;br /&gt;
 x_tic_formatter = mdates.ConciseDateFormatter(&lt;br /&gt;
     x_tic_locator,&lt;br /&gt;
     show_offset=True,&lt;br /&gt;
     offset_formats=[&amp;quot;&amp;quot;, &amp;quot;%Y&amp;quot;, &amp;quot;%b %Y&amp;quot;, &amp;quot;%Y-%b-%d&amp;quot;, &amp;quot;%Y-%b-%d&amp;quot;, &amp;quot;%Y-%b-%d %H:%M&amp;quot;],&lt;br /&gt;
 )&lt;br /&gt;
 # ax.xaxis.set_major_locator(x_tic_locator)&lt;br /&gt;
 ax.xaxis.set_major_formatter(x_tic_formatter)&lt;br /&gt;
 &lt;br /&gt;
 # y tics&lt;br /&gt;
 ax.yaxis.set_major_locator(mticker.MaxNLocator(integer=True))&lt;br /&gt;
 ax.yaxis.set_major_formatter(mticker.PercentFormatter(decimals=0))&lt;br /&gt;
 &lt;br /&gt;
 # title&lt;br /&gt;
 plt.suptitle(&amp;quot;my Title&amp;quot;)&lt;br /&gt;
 # ax.set_title(&amp;quot;my Subtitle&amp;quot;) # &amp;quot;&amp;quot; to remove&lt;br /&gt;
 plt.xlabel(&amp;quot;xLabel&amp;quot;)  # &amp;quot;&amp;quot; to remove&lt;br /&gt;
 plt.ylabel(&amp;quot;yLabel&amp;quot;)  # &amp;quot;&amp;quot; to remove&lt;br /&gt;
 &lt;br /&gt;
 # layout&lt;br /&gt;
 plt.grid(axis=&amp;quot;both&amp;quot;)&lt;br /&gt;
 plt.tight_layout()&lt;br /&gt;
 &lt;br /&gt;
 # save and close&lt;br /&gt;
 plt.savefig(fname=&amp;quot;plot.png&amp;quot;, format=&amp;quot;png&amp;quot;)&lt;br /&gt;
 # plt.clf()&lt;br /&gt;
 plt.close()  # prevents figure.max_open_warning&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
horizontal bar chart of rows &amp;quot;plant&amp;quot; and &amp;quot;cnt&amp;quot;&lt;br /&gt;
 myPlot = df.plot.barh(legend=False, x=&amp;#039;plant&amp;#039;, y=&amp;#039;cnt&amp;#039;, linewidth=2.0, zorder=1, figsize=(12, 12))&lt;br /&gt;
 plt.gca().invert_yaxis()&lt;br /&gt;
 plt.gca().xaxis.set_major_formatter(mticker.PercentFormatter()) #&lt;br /&gt;
 myPlot.set_ylim(0, 100)&lt;br /&gt;
 plt.title(&amp;#039;My Title&amp;#039;)&lt;br /&gt;
 plt.xlabel(&amp;quot;&amp;quot;)&lt;br /&gt;
 # x y grid&lt;br /&gt;
 plt.gca().set_axisbelow(True)  # for grid below the lines&lt;br /&gt;
 plt.grid(axis=&amp;#039;both&amp;#039;)&lt;br /&gt;
 # x grid for bar chart&lt;br /&gt;
 plt.grid(axis=&amp;#039;x&amp;#039;)&lt;br /&gt;
 plt.tight_layout()&lt;br /&gt;
 plt.savefig(fname=&amp;#039;out.png&amp;#039;, format=&amp;#039;png&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
===2 Subplots sharing xaxis===&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 import matplotlib.ticker as ticker&lt;br /&gt;
 import pandas as pd&lt;br /&gt;
 &lt;br /&gt;
 df = pd.DataFrame()&lt;br /&gt;
 # initialize plot&lt;br /&gt;
 fig, ax = plt.subplots(&lt;br /&gt;
     nrows=2, ncols=1, sharex=True, figsize=(6, 8), dpi=100  # default = 6.4,4.8&lt;br /&gt;
 )&lt;br /&gt;
 fig.suptitle(f&amp;quot;COVID-19 in {long_name}&amp;quot;)  # super title&lt;br /&gt;
 ax[0].set_title(&amp;quot;Inzidenzwert und -anstieg&amp;quot;, fontsize=10)&lt;br /&gt;
 ax[1].set_title(&amp;quot;Tote und Intensivstationsbelegung&amp;quot;, fontsize=10)&lt;br /&gt;
 &lt;br /&gt;
 # define colors for data&lt;br /&gt;
 colors = ((&amp;quot;blue&amp;quot;, &amp;quot;red&amp;quot;), (&amp;quot;purple&amp;quot;, &amp;quot;green&amp;quot;))&lt;br /&gt;
 &lt;br /&gt;
 # plot the data of a pandas dataframe&lt;br /&gt;
 df[&amp;quot;Inzidenz&amp;quot;].plot(&lt;br /&gt;
     ax=ax[0],&lt;br /&gt;
     color=colors[0][0],&lt;br /&gt;
     legend=False,&lt;br /&gt;
     secondary_y=False,&lt;br /&gt;
     zorder=2,&lt;br /&gt;
     linewidth=2.0,&lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 # important: set grid after plot of primary y data&lt;br /&gt;
 plt.grid(axis=&amp;quot;both&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 df[&amp;quot;Inzidenzanstieg&amp;quot;].plot.area(&lt;br /&gt;
     ax=ax[0], color=colors[0][1], legend=False, secondary_y=True, zorder=1&lt;br /&gt;
 )&lt;br /&gt;
 df[&amp;quot;Tote&amp;quot;].plot(&lt;br /&gt;
     ax=ax[1],&lt;br /&gt;
     color=colors[1][0],&lt;br /&gt;
     legend=False,&lt;br /&gt;
     secondary_y=False,&lt;br /&gt;
     zorder=2,&lt;br /&gt;
     linewidth=2.0,&lt;br /&gt;
 )&lt;br /&gt;
 df[&amp;quot;Intensivstationsbelegung&amp;quot;].plot.area(&lt;br /&gt;
     ax=ax[1],&lt;br /&gt;
     color=colors[1][1],&lt;br /&gt;
     legend=False,&lt;br /&gt;
     secondary_y=True,&lt;br /&gt;
     zorder=1,&lt;br /&gt;
     linewidth=2.0,&lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 # Axis layout, text and range&lt;br /&gt;
 # remove label as date is obvious&lt;br /&gt;
 ax[1].set_xlabel(&amp;quot;&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 # top plot&lt;br /&gt;
 ax[0].set_title(&amp;quot;Inzidenzwert und -anstieg&amp;quot;, fontsize=10)&lt;br /&gt;
 ax[1].set_title(&amp;quot;Tote und Intensivstationsbelegung&amp;quot;, fontsize=10)&lt;br /&gt;
 # axis label&lt;br /&gt;
 ax[0].set_ylabel(&amp;quot;Inzidenz (7 Tage)&amp;quot;)&lt;br /&gt;
 ax[0].right_ax.set_ylabel(&amp;quot;Inzidenzanstieg (7 Tage)&amp;quot;)&lt;br /&gt;
 ax[1].set_ylabel(&amp;quot;Tote (7 Tage pro Millionen)&amp;quot;)&lt;br /&gt;
 ax[1].right_ax.set_ylabel(&amp;quot;Intensivstationen Anteil COVID-Patienten&amp;quot;)&lt;br /&gt;
 # axis range&lt;br /&gt;
 ax[0].set_ylim(&lt;br /&gt;
     0,&lt;br /&gt;
 )  # 0,550&lt;br /&gt;
 ax[0].right_ax.set_ylim(0, 150)&lt;br /&gt;
 ax[1].set_ylim(&lt;br /&gt;
     0,&lt;br /&gt;
 )  # 0,250&lt;br /&gt;
 ax[1].right_ax.set_ylim(0, 40)&lt;br /&gt;
 # tick freq&lt;br /&gt;
 # all are set to make charts better compareable&lt;br /&gt;
 ax[0].yaxis.set_major_locator(ticker.MultipleLocator(50))&lt;br /&gt;
 ax[0].right_ax.yaxis.set_major_locator(ticker.MultipleLocator(25))&lt;br /&gt;
 ax[1].yaxis.set_major_locator(ticker.MultipleLocator(25))&lt;br /&gt;
 ax[1].right_ax.yaxis.set_major_locator(ticker.MultipleLocator(10))&lt;br /&gt;
 # tick format&lt;br /&gt;
 ax[0].yaxis.set_major_formatter(ticker.FormatStrFormatter(&amp;quot;%d&amp;quot;))&lt;br /&gt;
 ax[0].right_ax.yaxis.set_major_formatter(ticker.PercentFormatter(decimals=0))&lt;br /&gt;
 ax[1].yaxis.set_major_formatter(ticker.FormatStrFormatter(&amp;quot;%d&amp;quot;))&lt;br /&gt;
 ax[1].right_ax.yaxis.set_major_formatter(ticker.PercentFormatter(decimals=0))&lt;br /&gt;
 # color of label and ticks&lt;br /&gt;
 ax[0].yaxis.label.set_color(colors[0][0])&lt;br /&gt;
 ax[0].tick_params(axis=&amp;quot;y&amp;quot;, colors=colors[0][0])&lt;br /&gt;
 ax[0].right_ax.yaxis.label.set_color(colors[0][1])&lt;br /&gt;
 ax[0].right_ax.tick_params(axis=&amp;quot;y&amp;quot;, colors=colors[0][1])&lt;br /&gt;
 ax[1].yaxis.label.set_color(colors[1][0])&lt;br /&gt;
 ax[1].tick_params(axis=&amp;quot;y&amp;quot;, colors=colors[1][0])&lt;br /&gt;
 ax[1].right_ax.yaxis.label.set_color(colors[1][1])&lt;br /&gt;
 ax[1].right_ax.tick_params(axis=&amp;quot;y&amp;quot;, colors=colors[1][1])&lt;br /&gt;
&lt;br /&gt;
===Area and Line===&lt;br /&gt;
 df = df.rename(columns={&amp;quot;cnt&amp;quot;: &amp;quot;count&amp;quot;, &amp;quot;rolling&amp;quot;: &amp;quot;7-day average&amp;quot;})&lt;br /&gt;
 df[&amp;quot;count&amp;quot;].plot(kind=&amp;quot;area&amp;quot;, ax=ax, legend=True, linewidth=0.0, zorder=1)&lt;br /&gt;
 df[&amp;quot;7-day average&amp;quot;].plot(ax=ax, legend=True, linewidth=2.0, zorder=2)&lt;br /&gt;
Stacked area&lt;br /&gt;
 df.plot(kind=&amp;quot;area&amp;quot;, ax=ax, stacked=True, linewidth=0.0)&lt;br /&gt;
&lt;br /&gt;
===Heatmap / Colormap===&lt;br /&gt;
 import pandas as pd&lt;br /&gt;
 # import seaborn as sns&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 import matplotlib.dates as mdates&lt;br /&gt;
 &lt;br /&gt;
 # plot heatmap&lt;br /&gt;
 # V1&lt;br /&gt;
 # ax = sns.heatmap(df.T)&lt;br /&gt;
 # plt.savefig(&amp;quot;data.png&amp;quot;, dpi=100)&lt;br /&gt;
 &lt;br /&gt;
 # V2&lt;br /&gt;
 dates = df.index.to_pydatetime()&lt;br /&gt;
 dnum = mdates.date2num(dates)&lt;br /&gt;
 start = dnum[0] - (dnum[1] - dnum[0]) / 2.0&lt;br /&gt;
 stop = dnum[-1] + (dnum[1] - dnum[0]) / 2.0&lt;br /&gt;
 extent = [start, stop, -0.5, len(df.columns) - 0.5]&lt;br /&gt;
 &lt;br /&gt;
 fig, ax = plt.subplots(figsize=(9, 16), zorder=1)&lt;br /&gt;
 # im = ax.imshow(df.T.values, extent=extent, aspect=&amp;quot;auto&amp;quot;)&lt;br /&gt;
 im = ax.imshow(&lt;br /&gt;
     df.T.values * (-1),&lt;br /&gt;
     cmap=&amp;quot;jet&amp;quot;,&lt;br /&gt;
     interpolation=&amp;quot;none&amp;quot;,&lt;br /&gt;
     origin=&amp;quot;lower&amp;quot;,&lt;br /&gt;
     aspect=&amp;quot;auto&amp;quot;,&lt;br /&gt;
     extent=extent,&lt;br /&gt;
 )&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ax.set_yticks(range(0, len(list(df.columns))))&lt;br /&gt;
 ax.set_yticklabels(df.columns)&lt;br /&gt;
 &lt;br /&gt;
 ax.xaxis.set_major_locator(mdates.DayLocator())&lt;br /&gt;
 # # ax.xaxis.set_minor_locator(mdates.DayLocator())&lt;br /&gt;
 ax.xaxis.set_major_formatter(mdates.DateFormatter(&amp;quot;%d.%m.&amp;quot;))&lt;br /&gt;
 &lt;br /&gt;
 # fig.colorbar(im)&lt;br /&gt;
 &lt;br /&gt;
 # plt.gca().set_axisbelow(True)  # for grid below the lines&lt;br /&gt;
 # plt.grid(axis=&amp;quot;both&amp;quot;, zorder=-1)&lt;br /&gt;
 plt.tight_layout()&lt;br /&gt;
 ax.margins(y=0.9, x=0.9)&lt;br /&gt;
 &lt;br /&gt;
 plt.savefig(&amp;quot;data-heatmap.png&amp;quot;, dpi=100)&lt;br /&gt;
&lt;br /&gt;
===Defaults===&lt;br /&gt;
====Default Colors====&lt;br /&gt;
 import matplotlib.colors as mcolors&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;mcolors.TABLEAU_COLORS&amp;quot;)&lt;br /&gt;
 for name, value in mcolors.TABLEAU_COLORS.items():&lt;br /&gt;
     print(name, &amp;quot;\t&amp;quot;, value)&lt;br /&gt;
 &lt;br /&gt;
 colors = mcolors.TABLEAU_COLORS.keys()&lt;br /&gt;
 print(colors)&lt;br /&gt;
 &lt;br /&gt;
 tab:blue         #1f77b4&lt;br /&gt;
 tab:orange       #ff7f0e&lt;br /&gt;
 tab:green        #2ca02c&lt;br /&gt;
 tab:red          #d62728&lt;br /&gt;
 tab:purple       #9467bd&lt;br /&gt;
 tab:brown        #8c564b&lt;br /&gt;
 tab:pink         #e377c2&lt;br /&gt;
 tab:gray         #7f7f7f&lt;br /&gt;
 tab:olive        #bcbd22&lt;br /&gt;
 tab:cyan         #17becf&lt;br /&gt;
&lt;br /&gt;
===more stuff===&lt;br /&gt;
 # using 2nd axis and filled area&lt;br /&gt;
 ax1 = df.Cases_Last_Week_Per_100000.plot(&lt;br /&gt;
       color=&amp;quot;blue&amp;quot;, legend=False, secondary_y=False, zorder=2)&lt;br /&gt;
 ax1.set_zorder(2)&lt;br /&gt;
 # important: transparent background for line plot&lt;br /&gt;
 ax1.set_facecolor(&amp;#039;none&amp;#039;)&lt;br /&gt;
 ax2 = df.Cases_Last_Week_7Day_Percent.plot.area(color=&amp;quot;red&amp;quot;,&lt;br /&gt;
                                                    legend=False, secondary_y=True, zorder=1)&lt;br /&gt;
 ax2.set_zorder(1)&lt;br /&gt;
 &lt;br /&gt;
 # set axis range&lt;br /&gt;
 ax1.set_ylim(0, )&lt;br /&gt;
 ax2.set_ylim(0, 200)&lt;br /&gt;
 &lt;br /&gt;
 # set axis label&lt;br /&gt;
 ax1.set_ylabel(&amp;#039;Inzidenz (7 Tage)&amp;#039;)&lt;br /&gt;
 ax2.set_ylabel(&amp;#039;Anstieg (7 Tage)&amp;#039;)&lt;br /&gt;
 # no label for x axis&lt;br /&gt;
 # plt.xlabel(&amp;quot;&amp;quot;)&lt;br /&gt;
 ax1.set_xlabel(&amp;quot;&amp;quot;)&lt;br /&gt;
 ax2.set_xlabel(&amp;quot;&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 # tics as percentage&lt;br /&gt;
 import matplotlib.ticker as mtick&lt;br /&gt;
 ax2.yaxis.set_major_formatter(mtick.PercentFormatter())&lt;br /&gt;
 &lt;br /&gt;
 # axis numbers and label colors &lt;br /&gt;
 ax1.yaxis.label.set_color(&amp;#039;blue&amp;#039;)&lt;br /&gt;
 ax1.tick_params(axis=&amp;#039;y&amp;#039;, colors=&amp;#039;blue&amp;#039;)&lt;br /&gt;
 ax2.yaxis.label.set_color(&amp;#039;red&amp;#039;)&lt;br /&gt;
 ax2.tick_params(axis=&amp;#039;y&amp;#039;, colors=&amp;#039;red&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
 # set locale language setting for date axis etc.&lt;br /&gt;
 import locale&lt;br /&gt;
 locale.setlocale(locale.LC_ALL, &amp;#039;de_DE.UTF-8&amp;#039;)&lt;br /&gt;
 &lt;br /&gt;
 # add text to bottom right&lt;br /&gt;
 plt.gcf().text(1.0, 0.0, s=&amp;quot;by Torben https://entorb.net , based on RKI and DIVI data&amp;quot;, fontsize=8,&lt;br /&gt;
                horizontalalignment=&amp;#039;right&amp;#039;, verticalalignment=&amp;#039;bottom&amp;#039;, rotation=&amp;#039;vertical&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
===Histogram===&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 fig, ax = plt.subplots()  # type: ignore&lt;br /&gt;
 bins = [0, 1, 2, 4, 8, 15, 30]&lt;br /&gt;
 # bins = range(0, 30, 1)&lt;br /&gt;
 df.hist(column=&amp;quot;RespTime&amp;quot;, ax=ax, bins=bins, density=True)&lt;br /&gt;
 fig.savefig(&amp;quot;plot-times-hist.png&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Time of Day as x axis===&lt;br /&gt;
 ax.set_xticks([dt.time(i, 0) for i in range(0, 24, 4)])&lt;br /&gt;
 ax.set_xlim(dt.time(0), dt.time(23, 59, 59))&lt;br /&gt;
&lt;br /&gt;
===Colormaps: lines in grey-&amp;gt;black or cold-&amp;gt;hot===&lt;br /&gt;
 # grey to black&lt;br /&gt;
 import numpy as np&lt;br /&gt;
 colors = [str(x) for x in np.linspace(0.9, 0.1, num_lines)]&lt;br /&gt;
 &lt;br /&gt;
 # blue to red / cool to warm&lt;br /&gt;
 from matplotlib import colormaps&lt;br /&gt;
 colormap = colormaps[&amp;quot;coolwarm&amp;quot;]&lt;br /&gt;
 colors = [colormap(i / num_lines) for i in range(num_lines)]&lt;/div&gt;</summary>
		<author><name>Torben</name></author>
	</entry>
</feed>