splot.giddy.dynamic_lisa_rose

splot.giddy.dynamic_lisa_rose(rose, attribute=None, ax=None, **kwargs)[source]

Plot dynamic LISA values in a rose diagram.

Parameters
rosegiddy.directional.Rose instance

A Rose object, which contains (among other attributes) LISA values at two points in time, and a method to perform inference on those.

attribute(n,) ndarray, optional

Points will be colored by chosen attribute values. Variable to specify colors of the colorbars. Default =None.

axMatplotlib Axes instance, optional

If given, the figure will be created inside this axis. Default =None. Note: This axis should have a polar projection.

**kwargskeyword arguments, optional

Keywords used for creating and designing the matplotlib.pyplot.scatter(). Note: ‘c’ and ‘color’ cannot be passed when attribute is not None.

Returns
figMatplotlib Figure instance

LISA rose plot figure

axmatplotlib Axes instance

Axes in which the figure is plotted

Examples

>>> import geopandas as gpd
>>> import pandas as pd
>>> from libpysal.weights.contiguity import Queen
>>> from libpysal import examples
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from giddy.directional import Rose
>>> from splot.giddy import dynamic_lisa_rose

get csv and shp files

>>> shp_link = examples.get_path('us48.shp')
>>> df = gpd.read_file(shp_link)
>>> income_table = pd.read_csv(examples.get_path("usjoin.csv"))

calculate relative values

>>> for year in range(1969, 2010):
...     income_table[str(year) + '_rel'] = (
...         income_table[str(year)] / income_table[str(year)].mean())

merge to one gdf

>>> gdf = df.merge(income_table,left_on='STATE_NAME',right_on='Name')

retrieve spatial weights and data for two points in time

>>> w = Queen.from_dataframe(gdf)
>>> w.transform = 'r'
>>> y1 = gdf['1969_rel'].values
>>> y2 = gdf['2000_rel'].values

calculate rose Object

>>> Y = np.array([y1, y2]).T
>>> rose = Rose(Y, w, k=5)

plot

>>> dynamic_lisa_rose(rose, attribute=y1)
>>> plt.show()

(Source code, png, hires.png, pdf)

../_images/splot-giddy-dynamic_lisa_rose-1_00_00.png

customize plot

>>> dynamic_lisa_rose(rose, c='r')
>>> plt.show()

(png, hires.png, pdf)

../_images/splot-giddy-dynamic_lisa_rose-1_01_00.png