Skip to main content

A custom Matplotlib theme using the Poppins font styled like ggplot.

Project description

Matplotlib Poppins Theme (Inspired by ggplot)

This package provides a custom theme for Matplotlib, inspired by the visual style of ggplot, using the Poppins font for a clean and modern look.

Features

  • Custom Matplotlib theme with the Poppins font.
  • Configurable options for title size, label size, boldness, and grid display.
  • Inspired by ggplot2's elegant styling.

Installation

You can install this package via pip:

pip install finres_ggpt2_matplotlib

Usage

import finres_ggpt2_matplotlib

# Apply the custom Poppins theme
finres_ggpt2_matplotlib.set_poppins_theme()

# Now create your plots
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 17, 18]
plt.plot(x, y)
plt.title("Sample Poppins Plot")
plt.show()

Customization Options

You can customize the theme by passing different options to set_poppins_theme():

# Apply the Poppins theme with custom options
matplotlib_poppins_theme.set_poppins_theme(
    title_size=18,        # Custom title size
    label_size=14,        # Custom label size
    bold_title=True,      # Bold titles
    bold_labels=False,    # Non-bold axis labels
    show_grid=True        # Show grid lines
)




import matplotlib.pyplot as plt
import numpy as np

categories = ['Category A', 'Category B', 'Category C', 'Category D']
x = np.linspace(0, 10, 100)  # Shared x-axis for all plots
data = {category: np.sin(x + i) for i, category in enumerate(categories)}  # Different sine waves for each category

# Create a figure and axes for the faceted plot (2 rows, 2 columns)
fig, axes = plt.subplots(2, 2, figsize=(10, 8))  # Create a 2x2 grid of subplots
axes = axes.flatten()  # Flatten axes for easy iteration

# Iterate through each axis and plot the corresponding data
for ax, (category, y) in zip(axes, data.items()):
    ax.plot(x, y, label=category, color=np.random.rand(3,))
    ax.set_title(f"Facet: {category}", fontsize=12, weight='bold')  # Set the title for each facet
    ax.set_xlabel('X-axis')
    ax.set_ylabel('Y-axis')
    ax.legend()

# Adjust layout for better spacing
plt.tight_layout()

# Show the faceted plot
plt.show()

with the theme Faceted Plot

Faceted Plot

Parameters:

  • title_size: Sets the font size for the plot title (default is 14).
  • label_size: Sets the font size for the axis labels (default is 12).
  • bold_title: Boolean to specify if the title should be bold (default is True).
  • bold_labels: Boolean to specify if the axis labels should be bold (default is True).
  • show_grid: Boolean to specify if the grid should be shown (default is False).

Contributing

Contributions are welcome! Feel free to submit a pull request or open an issue on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

finres_ggpt2_matplotlib-0.2.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

finres_ggpt2_matplotlib-0.2.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file finres_ggpt2_matplotlib-0.2.1.tar.gz.

File metadata

File hashes

Hashes for finres_ggpt2_matplotlib-0.2.1.tar.gz
Algorithm Hash digest
SHA256 064b1741f04b5113be3f2b749c7401f37481627118ea622d5eb80ec8194ba2b7
MD5 d54991d218633721aae26f725cf61c83
BLAKE2b-256 aa7323d7c7ee11378d74b7ba10725baf74698c5f626409e31fd06e0fceb923dc

See more details on using hashes here.

File details

Details for the file finres_ggpt2_matplotlib-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for finres_ggpt2_matplotlib-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d435482d58bee821c778bcc21507955588df83b55321387f63c87d9029af60a
MD5 954354bec708bb5719058be3c9e47936
BLAKE2b-256 4485ffd2f5857867fc2f17a2b610fc5912bb8d2ae8f5f0bf42c8983db99a720b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page