Point mark¶
An interactive point chart with a quantitative color channel and a smooth relationship generated by GenomeSpy transforms.
Code¶
"""Point mark.
An interactive point chart with a quantitative color channel and a smooth
relationship generated by GenomeSpy transforms.
"""
import genome_spy as gs
from genome_spy.datasets._grammar import sincos_data
# Load example positions along the horizontal axis.
data = sincos_data()
# Calculate a sine wave for point height and a cosine wave for color.
chart = (
gs.Chart(data)
.transform_calculate(
sin=gs.expr.sin(gs.datum.x / 4),
cos=gs.expr.cos(gs.datum.x / 5),
)
# Use partly transparent circles so overlapping points remain visible.
.mark_point(size=60, filled=True, opacity=0.75)
.encode(
x=gs.X("x:Q").scale(zoom=True).title("Position"),
y=gs.Y("sin:Q").scale(zoom=True).title("sin(x / 4)"),
color=gs.Color("cos:Q").title("cos(x / 5)"),
)
.properties(title="Point mark")
)