The visual quality of annotated text (using add_annotations()) is much worse than that of y tick labels in an exported svg.
They have identical text font settings (family, size, bold=F) , but they look very different, especially when zooming out . The x position of the annotation is calculated using xref=“paper” and x=some fraction of the available width in pixels. I assumed that the annotation positions might be straddling pixels, but I recoded the x variable to account for this with no change in behavior.
In both of the below images, the top text is from add_annotation.
Zoomed out:
Zoomed in:
Update: Inspecting the generated plot element revealed that each annotation was actually four annotations stacked on top of each other. Removing 3 of the annotations using MS Edge’s inspector tool made the appearance match that of the y tick label. However, I cannot determine what is causing the stacked annotations. It seems like each time I add a specification to the font argument, a new annotation is generated.