size_unit
in Geoms geom_point()
, geom_text()
and geom_label()
¶The size_unit
parameter relates the size of a geometry to the length of the unit step along one of the axes.
from lets_plot import *
LetsPlot.setup_html()
size = 10
data = {
'x': [0, 0, 0],
'y': [-size, 0, size],
'text': ['A', 'b', '0'],
}
def title(geom_name, size_unit=None):
if size_unit is None:
size_unit_text = "size_unit - default"
else:
size_unit_text = "size_unit='{0}'".format(size_unit)
return ggtitle("{geom}: size={size}, {size_unit_text}".format(
geom=geom_name,
size=size,
size_unit_text=size_unit_text
))
p = ggplot(data, aes('x', 'y')) + scale_y_continuous(limits=[-size, size], expand=[.15, 0])
gggrid([
p + geom_point(size=size) + title("Point"),
p + geom_point(size=size, size_unit='y') + title("Point", 'y'),
])
gggrid([
p + geom_text(aes(label='text'), size=size) + title("Text"),
p + geom_text(aes(label='text'), size=size, size_unit='y') + title("Text", 'y'),
])
gggrid([
p + geom_label(aes(label='text'), size=size) + title("Label"),
p + geom_label(aes(label='text'), size=size, size_unit='y') + title("Label", 'y'),
])
from math import sqrt
r = .5
h = r * sqrt(3)/2
sets_data = {
'x': [0, r, r/2],
'y': [0, 0, h],
'size': [2*r, 2*r, 2*r],
'color': ['#e24462', '#306998', '#ffe873'],
}
texts_data = {
'x': [-r/2, r + r/2, r/2, r/2, -r/8, r + r/8, r/2],
'y': [-r/4, -r/4, h + r/2, -3*r/8, 5*r/8, 5*r/8, 5*r/16],
'text': ["Kotlin", "Geospatial\nVisualization", "Grammar\nof\nGraphics", "ArcGIS", "Kandy", "ggmap", "Lets-Plot"],
'size': [.4*r]*7,
}
ggplot() + \
geom_point(aes('x', 'y', size='size', fill='color'), \
data=sets_data, size_unit='x', \
shape=21, alpha=.5, color='black', \
tooltips='none') + \
geom_text(aes('x', 'y', label='text', size='size'), \
data=texts_data, size_unit='x') + \
scale_size_identity() + scale_fill_identity() + \
xlim(-r, 2*r) + ylim(-r, h + r) + \
coord_fixed() + \
ggsize(600, 600) + \
theme_void()