A Python package on top of matplotlib
to create 'cyberpunk' style plots with 3 additional lines of code.
pip install mplcyberpunk
After importing the package, the cyberpunk stylesheet (dark background etc.) is available via plt.style.use
.
The line glow and 'underglow' effects are added via calling add_glow_effects
:
import matplotlib.pyplot as plt
import mplcyberpunk
plt.style.use("cyberpunk")
plt.plot([1, 3, 9, 5, 2, 1, 1], marker='o')
plt.plot([4, 5, 5, 7, 9, 8, 6], marker='o')
mplcyberpunk.add_glow_effects()
plt.show()
Result:
This effect is currently only implemented for lines.
The individual steps are described here in more detail.
Instead of add_glow_effects
, you can add the line glow and underglow effects separately:
mplcyberpunk.make_lines_glow()
mplcyberpunk.add_underglow()
You can also add the effect to a specific axis object explicitly:
fig, ax = plt.subplots()
...
mplcyberpunk.make_lines_glow(ax)
To activate the glow effect only for specific lines, pass a Line2D object or a list of Line2Ds to make_lines_glow
.
Gradient underglow effect can be added with
mplcyberpunk.add_glow_effects(gradient_fill=True)
or independently of line glow with
mplcyberpunk.add_gradient_fill(alpha_gradientglow=0.5)
add_gradient_fill
takes a gradient_start
argument for different gradient starting values:
Glow effect can be added to scatter plots via mplcyberpunk.make_scatter_glow()
:
The default colormap is cool
:
Others:
import matplotlib.pyplot as plt
import mplcyberpunk
plt.style.use('cyberpunk')
categories = ['A', 'B', 'C', 'D', 'E']
values = [25, 67, 19, 45, 10]
colors = ["C0", "C1", "C2", "C3", "C4"]
bars = plt.bar(categories, values, color=colors, zorder=2)
mplcyberpunk.add_bar_gradient(bars=bars)
plt.show()
Some images can be bought as posters here.
Depends only on matplotlib
.