diff --git a/prettymaps/draw.py b/prettymaps/draw.py index d4d2c1c..b417f85 100644 --- a/prettymaps/draw.py +++ b/prettymaps/draw.py @@ -27,6 +27,35 @@ from collections.abc import Iterable # Fetch from .fetch import * +# Helper functions +def get_hash(key): + return frozenset(key.items()) if type(key) == dict else key + +# Drawing functions +def show_palette(palette, description = ''): + ''' + Helper to display palette in Markdown + ''' + + colorboxes = [ + f'![](https://placehold.it/30x30/{c[1:]}/{c[1:]}?text=)' + for c in palette + ] + + display(Markdown((description))) + display(Markdown(tabulate(pd.DataFrame(colorboxes), showindex = False))) + +def get_patch(shape, **kwargs): + ''' + Convert shapely object to matplotlib patch + ''' + #if type(shape) == Path: + # return patches.PathPatch(shape, **kwargs) + if type(shape) == Polygon and shape.area > 0: + return PolygonPatch(list(zip(*shape.exterior.xy)), **kwargs) + else: + return None + # Plot a single shape def plot_shape(shape, ax, vsketch = None, **kwargs): '''