from lets_plot import *
from lets_plot.mapping import as_discrete
LetsPlot.setup_html()
data = {"x": [1.0]}
ggplot(data, aes(x = "x", y = as_discrete("x", levels = [1.0]))) + geom_point()
data = { "v1": ["a", "b", "c"]}
ggplot(data, aes(x = as_discrete("v1", levels = ["b", "c", "a"]), color = as_discrete("v1", order = -1))) + geom_point()
d = {
'x': [0, 1, 2],
'v': [3, 1, 2],
'o': [5, 6, 4]
}
p = ggplot(d) + ggsize(300, 200)
gggrid([
p + geom_point(aes(x='x', color='v')) + ggtitle("Default"),
p + geom_point(aes(x='x', color=as_discrete('v'))) + ggtitle('as_discrete(v)')
]) + ggsize(600, 200)
Single order option
gggrid([
p + geom_point(aes(x='x', color=as_discrete('v', levels=[1, 2, 3]))) + ggtitle("levels=[1, 2, 3]"),
p + geom_point(aes(x='x', color=as_discrete('v', order=-1))) + ggtitle("order=-1"),
p + geom_point(aes(x='x', color=as_discrete('v', order_by='o'))) + ggtitle("order_by='o'")
]) + ggsize(1000, 200)
orderBy
gggrid([
p + geom_point(aes(x='x', color=as_discrete('v', order_by='o', order=-1))) + ggtitle('order_by=o, order=-1'),
p + geom_point(aes(x='x', color=as_discrete('v', order_by='o', order=1))) + ggtitle('order_by=o, order=1'),
]) + ggsize(600, 200)
Order with levels
p + geom_point(aes(x='x', color=as_discrete('v', levels=[1, 2, 3], order=-1))) + ggtitle('levels=[1, 2, 3], order=-1') + ggsize(800, 600)
gggrid([
p + geom_point(aes(x='x', color=as_discrete('v', levels=[1, 2, 3], order=-1))) + ggtitle('levels=[1, 2, 3], order=-1'),
p + geom_point(aes(x='x', color=as_discrete('v', levels=[1, 2, 3], order_by='o'))) + ggtitle('levels=[1, 2, 3], order_by=o'),
]) + ggsize(600, 200)
Label
gggrid([
p + geom_point(aes(x='x', color=as_discrete('v', label='VVV'))) + ggtitle("label=VVV"),
p + geom_point(aes(x='x', color=as_discrete('v', label='VVV', levels=[1, 2, 3]))) + ggtitle("label=VVV, levels=[1, 2, 3]"),
]) + ggsize(600, 200)
Grouping
df = {
'x': [0, 5, 10, 15],
'y': [0, 5, 10, 15],
'a': [0, 0, 1, 1],
'c': ['a', 'a', 'b', 'b']
}
ggplot(df, aes(x='x', y='y')) + geom_line(aes(color=as_discrete('a')), size=3)
df = {
'displ': [11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'hwy': [27, 25, 23, 45, 43, 41, 39, 37, 35, 33, 31, 29],
'cyl': [8, 8, 8, 4, 4, 4, 5, 5, 5, 6, 6, 6]
}
ggplot(df, aes(x='displ', y='hwy')) \
+ geom_point(aes(color=as_discrete('cyl'))) \
+ geom_smooth(aes(color=as_discrete('cyl')), method='lm', size=1, se=False)
ggplot(df, aes(x='displ', y='hwy')) \
+ geom_point(aes(color=as_discrete('cyl', levels=[4, 5, 6, 8]))) \
+ geom_smooth(aes(color=as_discrete('cyl')), method='lm', size=1, se=False)