Hexbin

class visigoth.map_layers.hexbin.Hexbin(data, lon=0, lat=1, nr_bins_across=10, palette=None, stroke='grey', stroke_width=1)
Create a Hexagonally binned plot of point density
data (list): A relational data set (for example, list of dicts/lists/tuples describing each row)
Keyword Arguments:
 
  • lat (str or int) – Identify the column to provide the latitude value for each point
  • lon (str or int) – Identify the column to provide the longitude value for each point
  • nr_bins_across – number of bins to arrange across the plot
  • palette (ContinuousPalette) – define the colours used in the plot
  • stroke (str) – the colour to use for bin lines
  • stroke_width (float) – the width (in pixels) to use for bin lines

Example

(Link to open example in new tab):

Source Code (Link to Github):

# -*- coding: utf-8 -*-

import random

from visigoth import Diagram
from visigoth.containers import Box, Map
from visigoth.map_layers import Hexbin, Scatter
from visigoth.utils.colour import ContinuousPalette

d = Diagram(fill="white")

rng = random.Random()
bounds = ((0,0),(1,1))
data = [(rng.random(),rng.random()) for x in range(0,100)]

palette = ContinuousPalette()
palette.addColour("#0000FF",0.0).addColour("#FF0000",1.0)

m1 = Map(512,bounds)
m1.addLayer(Hexbin(data,palette=palette,stroke=None))
m1.addLayer(Scatter(data))
d.add(Box(m1,padding=0))

html = d.draw(format="html")

f = open("example.html", "w")
f.write(html)
f.close()