Skip to main content

mpltex is a python package for creating publication-quality plots using matplotlib.

Project description

mpltex is a python package for producing publication quality images using matplotlib. Inspired by Olga Botvinnik’s python package prettyplotlib.

The internal matplotlib color cycle is replaced by ColorBrewer Set1 scale which looks less saturated and more pleasing to eyes. For more information on ColorBrewer, see a flash-based interactive map and a quick visual reference to all ColorBrewer scales.

mpltex also enable cycle line styles and a selected set of line markers. Hollow markers are supported.

Quickstart

1. Install

$ pip install mpltex

Required Packages

  • matplotlib. Can be installed via pip install matplotlib.

  • brewer2mpl. Can be installed via pip install brewer2mpl.

2. Usage

Examples and sample plots can be found here.

Following is a breif introduction. Just add one of mpltex decorators before your plot functions.

import mpltex

@mpltex.acs_decorator
def your_plot():
    # plot images by matplotlib ...

    # Save the image. Give a file name without extension.
    # You can also save figure outside your_plot if you like.
    fig.save_fig('/path/to/save/fig/figname')

# Then use your_plot in a normal way.
your_plot()

And it will create a plot ready for publishing in journals published by American Chemical Society (ACS).

mpltex also contains several helper functions to faciliate production of specific type of images. Following codes will produce a set of line arts with cycled line styles and line markers with the help of mpltex.linestyle_generator function.

import matplotlib.pyplot as plt
import mpltex

@mpltex.acs_decorator
def your_plot():
    # ...   # generate data x and y
    fig, ax = plt.subplots(111)

    # The default line style is iterating over
    # color, line, and marker with hollow types.
    linestyles = mpltex.linestyle_generator()

    for i in range(number_of_lines):
        ax.plot(x[i], y[i], label=str(i), **linestyles.next())

    ax.locator_params(nbins=5)  # limit the number of major ticks
    ax.legend(loc='best')  # show legend in a best location
    fig.tight_layout(pad=0.1)  # make layout as tight as possible
    fig.savefig('/path/to/save/fig/figname')

Available Decorators

  • mpltex.acs_decorator: output EPS images for publishing in ACS.

  • mpltex.rsc_decorator: output EPS images for publishing in RSC.

  • mpltex.presentation_decorator: output PDF images for presentation slides (Keynote).

  • mpltex.web_decorator: output PNG images for web pages.

Contribute

Let me know what you think and wish. I can be reached through email or other ways. Or fork the project at github.com and file a pull request.

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

mpltex-0.3.tar.gz (9.2 kB view details)

Uploaded Source

File details

Details for the file mpltex-0.3.tar.gz.

File metadata

  • Download URL: mpltex-0.3.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mpltex-0.3.tar.gz
Algorithm Hash digest
SHA256 5c786eac917f5237fe271624326700e3f94e8097e8e1eadd440fcf63bdb996a6
MD5 a10c37de3eb14bad0652f8dc35693f56
BLAKE2b-256 954b5a8219ed849412cd9bcaf96568baa43cc074bb35dd7e2bcdb5191437cdf3

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