GithubHelp home page GithubHelp logo

huliflove / scienceplots Goto Github PK

View Code? Open in Web Editor NEW

This project forked from garrettj403/scienceplots

0.0 1.0 0.0 7.35 MB

Matplotlib styles for scientific plotting

License: MIT License

Python 100.00%

scienceplots's Introduction

Science Plots

Matplotlib styles for scientific plotting

This repo has Matplotlib styles to format your plots for scientific papers, presentations and theses.

Installation

The easiest way to install SciencePlots is using pip:

# for latest version
pip install git+https://github.com/garrettj403/SciencePlots.git

# for last release
pip install SciencePlots

The pip installation will automatically move all of the *.mplstyle files into the appropriate directory. You can also do this manually, if you like. First, clone the repository and then copy all of the *.mplstyle files into your Matplotlib style directory. If you're not sure where this is, in an interactive python console type:

import matplotlib
print(matplotlib.get_configdir())

You should get back something like /home/garrett/.matplotlib. You would then put the *.mplstyle files in /home/garrett/.matplotlib/stylelib/ (you may need to create the stylelib directory).

Using the Styles

science.mplstyle is the main style from this repo. Whenever you want to use it, simply add the following to the top of your python script:

import matplotlib.pyplot as plt
 
plt.style.use('science')

You can also combine multiple styles together by:

plt.style.use(['science','ieee'])

In this case, the ieee style will override some of the parameters from the main science style in order to configure the plot for IEEE papers (column width, fontsizes, etc.).

To use any of the styles temporarily, you can use:

with plt.style.context(['science', 'ieee']):
    plt.figure()
    plt.plot(x, y)
    plt.show()

Examples

The science style (the base style):

The science + grid styles:

The science + ieee styles for IEEE papers:

IEEE requires figures to be readable when printed in black and white. The ieee style also sets the figure width to fit within one column of an IEEE paper.

The science + scatter styles for scatter plots:

The science + notebook styles for Jupyter notebooks:

You can also combine these styles with the other styles that come with Matplotlib. For example, the dark_background + science + high-vis styles:

Note: See the examples/ directory for more!

Color Cycles

The high-vis color cycle:

The bright color cycle:

The vibrant color cycle:

The muted color cycle:

The retro color cycle:

Note: The bright, vibrant and muted color cycles are from Paul Tol's website. They are color-blind safe!

Contribution

Please feel free to add to this repo! For example, it would be good to add styles for different journals or perhaps new color cycles.

You can checkout Matplotlib's documentation for more plotting options.

FAQ

  1. Errors related to Latex:

    • The default science style uses Latex font rendering. If you do not have Latex on your computer or if you think that Latex takes too long, you can disable Latex using the no-latex style:

      plt.style.use(['science','no-latex'])
    • For Windows users, you may need to manually add Latex to your environment path (see issue).

SciencePlots in Academic Papers

The following papers use SciencePlots:

If you use SciencePlots for your paper/thesis, feel free to add it to the list!

scienceplots's People

Contributors

garrettj403 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.