Skip to content

Changes since version 1.1.0

New Features

  • CoordinateSystem inner data group — CoordinateSystem now nests an inner data group (exposed as cs.data_group, with to_data(x, y) for pre-mapping) whose translate+scale transform maps data coordinates onto the plot plane. Plots (plot()/add_plot()) and user drawings are now expressed in scale-world (data) coordinates and placed by the group, so Python-side scaling is only needed for log axes.

  • CoordinateSystem vline/hline annotation helpers — draw vertical/horizontal marker lines at fixed data values with vline(x, ...)/hline(y, ...), update them in place by an optional name (for animating a moving cursor), and remove them with remove_vline(name)/remove_hline(name).

  • CoordinateSystem line/point helpers — draw an arbitrary segment with line(start, end, ...) and a point marker with point(p, ...); each accepts (x, y) tuples or Point instances, supports create-or-update by an optional name, and is removable with remove_line(name)/remove_point(name).

  • CoordinateSystem annotation labels — the vline/hline/line/point helpers now accept label and label_style, attaching a label to the annotation. The line helpers draw a Line entity (a screen-space fat line via LineStyle, not a PointPath), so labels anchor at the line midpoint and can be moved along the segment with LabelStyle(along=…); point labels anchor at the point.

Bug Fixes

  • Line labels now anchor on the line — the line label anchor previously omitted the line's origin, so labels on lines with a non-zero origin were placed relative to the world origin instead of the line. The anchor now includes the origin.