from lets_plot import *
from lets_plot.mapping import as_discrete
LetsPlot.setup_html()
df1 = {
'x' : ['c', 'c', 'a', 'a', 'd', 'b', 'b', 'a']
}
gggrid([
ggplot(df1) + geom_bar(aes('x')),
ggplot(df1) + geom_bar(aes(as_discrete('x', levels=['a','b','c','d']))),
ggplot(df1) + geom_bar(aes(as_discrete('x', levels=['a','d']))) # missed values will be added
])
df2 = {
'x' : [3, 2, 1, 3, 3, 1, 4]
}
gggrid([
ggplot(df2) + geom_bar(aes('x', fill = as_discrete('x'))),
ggplot(df2) + geom_bar(aes('x', fill = as_discrete('x', levels=[1,2,3,4])))
],ncol=1)
ggplot(df2) + geom_bar(aes(as_discrete('x',order=-1), fill = as_discrete('x', levels=[1,2,3,4])))
ggplot(df2) + geom_bar(aes(as_discrete('x',order=-1), fill = as_discrete('x', levels=[1,2])))
# https://github.com/JetBrains/lets-plot/issues/914
data = dict(
cat = ["B", "C", "A"],
c = ["blue", "cyan", "gray"]
)
(ggplot(data)
+ geom_point(aes(color="c"), size=15)
+ scale_color_identity()
+ theme_void() + ggsize(400, 200)
+ facet_wrap("cat", ncol=3, order=0)
)
# Facet ordering corresponds to the levels (facet_wrap)
(ggplot(data)
+ geom_point(aes(color=as_discrete("cat", levels=["C","A","B"])), size=15)
+ theme_void() + ggsize(400, 200)
+ facet_wrap("cat", ncol=3, order=0)
)
# Facet ordering corresponds to the levels (facet_grid)
(ggplot(data)
+ geom_point(aes(color=as_discrete("cat", levels=["C","A","B"])), size=15)
+ theme_void() + ggsize(400, 200)
+ facet_grid("cat", x_order=0)
)
# levels in reverse order
(ggplot(data)
+ geom_point(aes(color=as_discrete("cat", levels=["C","A","B"], order=-1)), size=15)
+ theme_void() + ggsize(400, 200)
+ facet_wrap("cat", ncol=3, order=0)
)