mapclassify.BoxPlot¶
- class mapclassify.BoxPlot(y, hinge=1.5)[source]¶
 BoxPlot Map Classification.
- Parameters:
 - y
numpy.array Attribute to classify
- hinge
float(default1.5) Multiplier for IQR.
- y
 - Attributes:
 - yb
numpy.array \((n,1)\), bin ids for observations.
- bins
array \((n,1)\), the upper bounds of each class (monotonic).
- k
int The number of classes.
- counts
numpy.array \((k,1)\), the number of observations falling in each class.
- low_outlier_ids
numpy.array Indices of observations that are low outliers.
- high_outlier_ids
numpy.array Indices of observations that are high outliers.
- yb
 
Notes
The bins are set as follows:
bins[0] = q[0]-hinge*IQR bins[1] = q[0] bins[2] = q[1] bins[3] = q[2] bins[4] = q[2]+hinge*IQR bins[5] = inf (see Notes)
where \(q\) is an array of the first three quartiles of \(y\) and \(IQR=q[2]-q[0]\).
If \(q[2]+hinge*IQR > max(y)\) there will only be 5 classes and no high outliers, otherwise, there will be 6 classes and at least one high outlier.
Examples
>>> import mapclassify >>> import numpy >>> cal = mapclassify.load_example() >>> bp = mapclassify.BoxPlot(cal) >>> bp.bins array([-5.287625e+01, 2.567500e+00, 9.365000e+00, 3.953000e+01, 9.497375e+01, 4.111450e+03])
>>> bp.counts.tolist() [0, 15, 14, 14, 6, 9]
>>> bp.high_outlier_ids.tolist() [0, 6, 18, 29, 33, 36, 37, 40, 42]
>>> cal[bp.high_outlier_ids].values array([ 329.92, 181.27, 370.5 , 722.85, 192.05, 110.74, 4111.45, 317.11, 264.93])
>>> bx = mapclassify.BoxPlot(numpy.arange(100)) >>> bx.bins array([-49.5 , 24.75, 49.5 , 74.25, 148.5 ])
- __init__(y, hinge=1.5)[source]¶
 - Parameters:
 - y
numpy.array \((n,1)\), attribute to classify
- hinge
float(default1.5) Multiple of inter-quartile range.
- y
 
Methods
__init__(y[, hinge])find_bin(x)Sort input or inputs according to the current bin estimate.
get_adcm()Absolute deviation around class median (ADCM).
get_fmt()get_gadf()Goodness of absolute deviation of fit.
get_legend_classes([fmt])Format the strings for the classes on the legend.
get_tss()Returns sum of squares over all class means.
make(*args, **kwargs)Configure and create a classifier that will consume data and produce classifications, given the configuration options specified by this function.
plot(gdf[, border_color, border_width, ...])Plot a mapclassifier object.
plot_histogram([color, linecolor, ...])Plot histogram of y with bin values superimposed
plot_legendgram(*[, ax, cmap, bins, inset, ...])Plot a legendgram, which is a histogram with classification breaks.
set_fmt(fmt)table()update([y, inplace])Add data or change classification parameters.
Attributes
fmt- update(y=None, inplace=False, **kwargs)[source]¶
 Add data or change classification parameters.
- Parameters:
 - y
numpy.array(defaultNone) \((n,1)\), array of data to classify.
- inplacebool (
defaultFalse) Whether to conduct the update in place or to return a copy estimated from the additional specifications.
- **kwargs
dict Additional parameters that are passed to the
__init__function of the class. For documentation, check the class constructor.
- y