Line Types#
from lets_plot import *
from common import docs_dark_theme
LetsPlot.setup_html()
Predefined Patterns#
def get_predefined_linetype_plot():
linetype_names = ['blank', 'solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash']
linetype_ids = list(range(len(linetype_names)))
return ggplot() + \
geom_spoke(aes(y=linetype_ids), x=0, angle=0, radius=1, size=4, color="#fa9fb5", alpha=.25) + \
geom_spoke(aes(y=linetype_ids, linetype=linetype_ids), x=0, angle=0, radius=1, size=2, show_legend=False) + \
geom_label(aes(y=linetype_ids, label=linetype_ids), \
x=0, hjust=0, size=12, label_size=0, label_format="{d}:", position=position_nudge(y=.3), family='mono') + \
geom_label(aes(y=linetype_ids, label=linetype_names), \
x=.04, hjust=0, size=12, label_size=0, label_format="'{}'", position=position_nudge(y=.3), family='mono') + \
scale_y_reverse() + \
scale_linetype_identity() + \
coord_cartesian(xlim=[0, 1], ylim=[-.5, len(linetype_names) - .75]) + \
ggsize(800, 600) + \
theme_void()
pl_plot = get_predefined_linetype_plot()
ggsave(pl_plot, "aesthetics_linetype.png")
pl_plot
pl_plot_dark = get_predefined_linetype_plot() + docs_dark_theme()
ggsave(pl_plot_dark, "aesthetics_linetype_dark.png")
pl_plot_dark
Custom Patterns#
def get_custom_linetype_plot():
linetype_patterns = [
[10, 6],
[8, [10, 6]],
"A636",
]
linetype_pattern_names = [str(pattern) for pattern in linetype_patterns]
linetype_ids = list(range(len(linetype_patterns)))
return ggplot() + \
geom_spoke(aes(y=linetype_ids), x=0, angle=0, radius=1, size=4, color="#fa9fb5", alpha=.25) + \
geom_spoke(aes(y=linetype_ids, linetype=linetype_patterns), x=0, angle=0, radius=1, size=2, show_legend=False) + \
geom_label(aes(y=linetype_ids, label=linetype_pattern_names), \
x=0, hjust=0, size=12, label_size=0, label_format="{}", position=position_nudge(y=.3), family='mono') + \
scale_y_reverse() + \
scale_linetype_identity() + \
coord_cartesian(xlim=[0, 1], ylim=[-.5, len(linetype_patterns) - .75]) + \
ggsize(800, 300) + \
theme_void()
cl_plot = get_custom_linetype_plot()
ggsave(cl_plot, "aesthetics_custom_linetype.png")
cl_plot
cl_plot_dark = get_custom_linetype_plot() + docs_dark_theme()
ggsave(cl_plot_dark, "aesthetics_custom_linetype_dark.png")
cl_plot_dark