This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

A thin wrapper around matplotlib, which lets you save figure and axes settings for plot reuse.

How to install the module

pip with --pre as option cause this is still an alpha build.

python3.4 -m pip install justplot --pre

– or –

git clone https://github.com/OnionNinja/justplot
cd justplot
python3.4 setup.py install

How to use the module [STRIKEOUT:(as intended)]

TL;DR

from justplot import justplot as jp
import numpy

lat = np.asarray([-90,-60,-30,0,30,60,90])
lon = np.asarray([-180,-150,-120,-90,-60,-30,0,30,60,90,120,150,180])
lat,lon = np.meshgrid(lat, lon)
temp = np.random.randint(10,35,(13,7))
wind = np.random.randint(100,300,(13,7))

awesome = jp.JustPlot(
    title = "Where is it hot?",
    xlabel = "Latitude",
    ylabel = "Longitude",
    # add more options here
)
awesome.add_contourf(lat,lon,temp,ylabel="Temperature (K)", colorbar=True)
awesome.save("Sun.pdf","pdf")

windy = awesome.copy()
windy(title="A little bit windy don't ya think?")
windy.add_contour(lat,lon,wind,ylabel="Wind")
windy.save("Wind.pdf","pdf")

Usage

Let’s say we have some data we want to plot (suprise!). As an example I will use a small data set from ucar.

First off we have to load the data.

import xarray
import numpy as np

data = xarray.open_dataset('sresa1b_ncar_ccsm3-example.nc', decode_times=False) #pretty cryptic, I know
lat = data.lat.data
lon = data.lon.data
temp = data.tas.data[0,:,:]
wind = data.ua.data[0,4,:,:]
xlat,xlon = np.meshgrid(lon,lat)

Let’s build the figure and axes settings first.

from justplot import justplot as jp

blueprint = jp.JustPlot(
    title = "Where is it hot?",
    ylabel = "Latitude",
    xlabel = "Longitude",
    # add more options here
)

Now we can add the actual plot.

blueprint.add_contourf(xlat,xlon,temp,label="Temperature")
blueprint.save('blueprint-1.png','png')

The title is strange and too small. Additionally the both Axes could use some more ticks. So let’s change that.

from matplotlib.ticker import AutoMinorLocator
blueprint(title={"label":"World Temperature","fontsize":19},
          xticks=np.arange(0,361,30),
          yticks=np.arange(-90,91,30),
          xminor=AutoMinorLocator(3),
          yminor=AutoMinorLocator(3),
)
blueprint.save("blueprint-2.png",'png')

Basemap support will be added further down the road. It is on
[STRIKEOUT:my] **our** to do list. You can quote me on that.

Good enough. Now pretend that you like this plot sooo much that you want all your future plots to look like it. For example the one for Wind. Let’s do that.

windy = blueprint.copy()
windy(title={"label":"Wind","fontsize":19})
windy.add_contour(xlat,xlon,wind,label="Wind")
windy.save("windy.png","png")

Let’s put all this together.

both = windy.copy()
both(title={"label":"World Temperature + Wind","fontsize":19})
both.add_contourf(xlat,xlon,temp,label="Temperature")
both.add_contour(xlat,xlon,wind,label="Wind",colors=('k'))
blueprint.save("both.png","png")

You can find the example code and data in the example folder.

How to improve the module (aka our todo list)

  • [ ] Save settings from y axes
  • [ ] Add Basemap support
  • [ ] Restructure
  • [ ] Write import function from preconfigured or used figures/axes
  • [x] Write README.md
Release History

Release History

0.1.3a3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3a2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3a1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a11

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a10

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2a1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
justplot-0.1.3a3.tar.gz (5.6 kB) Copy SHA256 Checksum SHA256 Source Jan 29, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting