Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ environment:

install:
# windows config (for installation)
- cmd: "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- cmd: "%PYTHON%\\Scripts\\activate"
- cmd: setlocal
- cmd: set ANACONDA_API_TOKEN=
# conda config
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda update -q conda tqdm
- conda install conda-build anaconda-client
- pip install -i https://pypi.anaconda.org/psyplot/simple --no-deps psyplot-ci-orb
- conda config --add channels conda-forge
Expand Down
3 changes: 2 additions & 1 deletion psyplot/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import pandas as pd

import matplotlib as mpl
from matplotlib.axes import SubplotBase
import matplotlib.figure as mfig
import numpy as np
import psyplot
Expand Down Expand Up @@ -1666,7 +1667,7 @@ def inspect_axes(ax):
for prop in ['linestyle', 'edgecolor', 'linewidth',
'facecolor', 'visible']:
ret['spines'][key][prop] = getattr(val, 'get_' + prop)()
if isinstance(ax, mfig.SubplotBase):
if isinstance(ax, SubplotBase):
sp = ax.get_subplotspec().get_topmost_subplotspec()
ret['grid_spec'] = sp.get_geometry()[:2]
ret['subplotspec'] = [sp.num1, sp.num2]
Expand Down
112 changes: 80 additions & 32 deletions tests/test_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,13 +185,19 @@ def test_save_and_load_01_simple(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
arr_names = sp.arr_names
self.assertEqual(tp.results[arr_names[0] + '.fmt1'], 'test')
self.assertEqual(tp.results[arr_names[1] + '.fmt1'], 'test')
Expand All @@ -205,13 +211,19 @@ def test_save_and_load_01_simple(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)

def test_save_and_load_02_alternative_axes(self):
"""Test the saving and loading of a Project providing alternative axes
Expand All @@ -226,13 +238,19 @@ def test_save_and_load_02_alternative_axes(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
arr_names = sp.arr_names
self.assertEqual(tp.results[arr_names[0] + '.fmt1'], 'test')
self.assertEqual(tp.results[arr_names[1] + '.fmt1'], 'test')
Expand All @@ -247,13 +265,19 @@ def test_save_and_load_02_alternative_axes(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 1)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 1)
self.assertEqual(sp[1].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 1)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 1)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 1)

def test_save_and_load_03_alternative_ds(self):
"""Test the saving and loading of a Project providing alternative axes
Expand All @@ -268,13 +292,19 @@ def test_save_and_load_03_alternative_ds(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
arr_names = sp.arr_names
self.assertEqual(tp.results[arr_names[0] + '.fmt1'], 'test')
self.assertEqual(tp.results[arr_names[1] + '.fmt1'], 'test')
Expand All @@ -290,13 +320,19 @@ def test_save_and_load_03_alternative_ds(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertIs(sp[0].psy.base, ds)
self.assertIs(sp[1].psy.base, ds)

Expand All @@ -313,13 +349,19 @@ def test_save_and_load_04_alternative_fname(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
arr_names = sp.arr_names
self.assertEqual(tp.results[arr_names[0] + '.fmt1'], 'test')
self.assertEqual(tp.results[arr_names[1] + '.fmt1'], 'test')
Expand All @@ -336,13 +378,19 @@ def test_save_and_load_04_alternative_fname(self):
self.assertEqual(sp[0].psy.ax.get_figure().number, 1)
self.assertEqual(get_row_num(sp[0].psy.ax), 0)
self.assertEqual(get_col_num(sp[0].psy.ax), 0)
self.assertEqual(sp[0].psy.ax.numCols, 2)
self.assertEqual(sp[0].psy.ax.numRows, 2)

gs = sp[0].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(sp[1].psy.ax.get_figure().number, 2)
self.assertEqual(get_row_num(sp[1].psy.ax), 0)
self.assertEqual(get_col_num(sp[1].psy.ax), 0)
self.assertEqual(sp[1].psy.ax.numCols, 2)
self.assertEqual(sp[1].psy.ax.numRows, 2)

gs = sp[1].psy.ax.get_gridspec()

self.assertEqual(gs.ncols, 2)
self.assertEqual(gs.nrows, 2)
self.assertEqual(psyd.get_filename_ds(sp[0].psy.base)[0],
bt.get_file('circumpolar_test.nc'))
self.assertEqual(psyd.get_filename_ds(sp[1].psy.base)[0],
Expand Down