.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/pizza_plots/plot_pizza_dark_theme.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_pizza_plots_plot_pizza_dark_theme.py: ============================== Dark Theme Pizza (Percentiles) ============================== * Author: `slothfulwave612 `_ * ``mplsoccer``, ``py_pizza`` module helps one to plot pizza charts in a few lines of code. * The design idea is inspired by `Tom Worville `_, `Football Slices `_ and `Soma Zero FC `_ * We have re-written `Soumyajit Bose's `_ pizza chart code to enable greater customisation. Here we plot a pizza chart with a dark theme. .. GENERATED FROM PYTHON SOURCE LINES 19-27 .. code-block:: Python from urllib.request import urlopen import matplotlib.pyplot as plt from PIL import Image from mplsoccer import PyPizza, add_image, FontManager .. GENERATED FROM PYTHON SOURCE LINES 28-33 Load some fonts --------------- We will use mplsoccer's FontManager to load some fonts from Google Fonts. We borrowed the FontManager from the excellent `ridge_map library `_. .. GENERATED FROM PYTHON SOURCE LINES 33-41 .. code-block:: Python font_normal = FontManager('https://raw.githubusercontent.com/googlefonts/roboto/main/' 'src/hinted/Roboto-Regular.ttf') font_italic = FontManager('https://raw.githubusercontent.com/googlefonts/roboto/main/' 'src/hinted/Roboto-Italic.ttf') font_bold = FontManager('https://raw.githubusercontent.com/google/fonts/main/apache/robotoslab/' 'RobotoSlab[wght].ttf') .. GENERATED FROM PYTHON SOURCE LINES 42-45 Load Image ---------- Load a cropped image of Frenkie de Jong. .. GENERATED FROM PYTHON SOURCE LINES 45-49 .. code-block:: Python URL = "https://raw.githubusercontent.com/andrewRowlinson/mplsoccer-assets/main/fdj_cropped.png" fdj_cropped = Image.open(urlopen(URL)) .. GENERATED FROM PYTHON SOURCE LINES 50-53 Dark Theme ---------- Below is an example code for dark theme. .. GENERATED FROM PYTHON SOURCE LINES 53-158 .. code-block:: Python # parameter list params = ["Non-Penalty Goals", "npxG", "xA", "Open Play\nShot Creating Actions", "\nPenalty Area\nEntries", "Touches\nper Turnover", "Progressive\nPasses", "Progressive\nCarries", "Final 1/3 Passes", "Final 1/3 Carries", "pAdj\nPressure Regains", "pAdj\nTackles Made", "pAdj\nInterceptions", "Recoveries", "Aerial Win %"] # value list # The values are taken from the excellent fbref website (supplied by StatsBomb) values = [70, 77, 74, 68, 60, 96, 89, 97, 92, 94, 16, 19, 56, 53, 94] # color for the slices and text slice_colors = ["#1A78CF"] * 5 + ["#FF9300"] * 5 + ["#D70232"] * 5 text_colors = ["#000000"] * 10 + ["#F2F2F2"] * 5 # instantiate PyPizza class baker = PyPizza( params=params, # list of parameters background_color="#222222", # background color straight_line_color="#000000", # color for straight lines straight_line_lw=1, # linewidth for straight lines last_circle_color="#000000", # color for last line last_circle_lw=1, # linewidth of last circle other_circle_lw=0, # linewidth for other circles inner_circle_size=20 # size of inner circle ) # plot pizza fig, ax = baker.make_pizza( values, # list of values figsize=(8, 8.5), # adjust the figsize according to your need color_blank_space="same", # use the same color to fill blank space slice_colors=slice_colors, # color for individual slices value_colors=text_colors, # color for the value-text value_bck_colors=slice_colors, # color for the blank spaces blank_alpha=0.4, # alpha for blank-space colors kwargs_slices=dict( edgecolor="#000000", zorder=2, linewidth=1 ), # values to be used when plotting slices kwargs_params=dict( color="#F2F2F2", fontsize=11, fontproperties=font_normal.prop, va="center" ), # values to be used when adding parameter labels kwargs_values=dict( color="#F2F2F2", fontsize=11, fontproperties=font_normal.prop, zorder=3, bbox=dict( edgecolor="#000000", facecolor="cornflowerblue", boxstyle="round,pad=0.2", lw=1 ) ) # values to be used when adding parameter-values labels ) # add title fig.text( 0.515, 0.975, "Frenkie de Jong - FC Barcelona", size=16, ha="center", fontproperties=font_bold.prop, color="#F2F2F2" ) # add subtitle fig.text( 0.515, 0.955, "Percentile Rank vs Top-Five League Midfielders | Season 2020-21", size=13, ha="center", fontproperties=font_bold.prop, color="#F2F2F2" ) # add credits CREDIT_1 = "data: statsbomb viz fbref" CREDIT_2 = "inspired by: @Worville, @FootballSlices, @somazerofc & @Soumyaj15209314" fig.text( 0.99, 0.02, f"{CREDIT_1}\n{CREDIT_2}", size=9, fontproperties=font_italic.prop, color="#F2F2F2", ha="right" ) # add text fig.text( 0.34, 0.93, "Attacking Possession Defending", size=14, fontproperties=font_bold.prop, color="#F2F2F2" ) # add rectangles fig.patches.extend([ plt.Rectangle( (0.31, 0.9225), 0.025, 0.021, fill=True, color="#1a78cf", transform=fig.transFigure, figure=fig ), plt.Rectangle( (0.462, 0.9225), 0.025, 0.021, fill=True, color="#ff9300", transform=fig.transFigure, figure=fig ), plt.Rectangle( (0.632, 0.9225), 0.025, 0.021, fill=True, color="#d70232", transform=fig.transFigure, figure=fig ), ]) # add image ax_image = add_image( fdj_cropped, fig, left=0.4478, bottom=0.4315, width=0.13, height=0.127 ) # these values might differ when you are plotting plt.show() .. image-sg:: /gallery/pizza_plots/images/sphx_glr_plot_pizza_dark_theme_001.png :alt: plot pizza dark theme :srcset: /gallery/pizza_plots/images/sphx_glr_plot_pizza_dark_theme_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.241 seconds) .. _sphx_glr_download_gallery_pizza_plots_plot_pizza_dark_theme.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_pizza_dark_theme.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_pizza_dark_theme.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_pizza_dark_theme.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_