![]() ![]() And if the text overlaps with the plot, you can make it smaller by using legend.fontsize, which will then make the legend smaller.Back in 2016, I had to prepare my PhD introductory talk and I started using package. Note that because loc=2, the legend is in the upper-left corner of the plot. More information can be found at this website but I've also included an example showing how to place a legend: ax.scatter(xa,ya, marker='o', s=20, c="lightgreen", alpha=0.9)Īx.scatter(xb,yb, marker='o', s=20, c="dodgerblue", alpha=0.9)Īx.scatter(xc,yc marker='o', s=20, c="firebrick", alpha=1.0)Īx.scatter(xd,xd,xd, marker='o', s=20, c="goldenrod", alpha=0.9) You can specify the placement of the legend box by using the loc keyterm. One solution would be to use the plt.legend function, even if you don't want an actual legend. Seaborn figure-level plot tips = sns.load_dataset('tips') Sns.lineplot(data=flights, x="year", y="passengers", ax=ax)Īx.text(1950, 500, 'flights with CI', size=15, color='purple') Seaborn axes-level plot import seaborn as sns P = plt.Rectangle((left, bottom), width, height, fill=False)Īx.text(left, 0.5 * (bottom top), 'right center',Īx.text(left, 0.5 * (bottom top), 'left center',Īx.text(0.5 * (left right), 0.5 * (bottom top), 'middle',Īx.text(right, 0.5 * (bottom top), 'centered',Īx.text(left, top, 'rotated\nwith newlines', You can precisely layout text in data or axes coordinates.Tested in python 3.10, matplotlib 3.5.1, seaborn 0.11.2.This answer is relevant to seaborn, which is a high-level api for matplotlib.matplotlib is somewhat different from when the original answer was posted. ![]() ![]() ha='left' is a good set to prevent a long text to go out of the left axis when the frame is reduced (made narrower) manually. The ha and va parameters set the alignment of your text relative to the insertion point. 99, 'matplotlib', ha='left', va='top', transform=ax.transAxes) In this way you will always have this free space for the text.ĮDIT: here you have an example: from matplotlib import pyplot as plt The easier method is to set y_axis (ymax in ylim((ymin,ymax))) to a value a bit higher than the max y-coordinate of your points. To prevent the text to interfere with any point of your scatter is more difficult afaik. The example below places text in the center The default transform specifies that text is in data coords,Īlternatively, you can specify text in axis coords (0,0 is lower-leftĪnd 1,1 is upper-right). Text coordinates can be given relative to the axis, so the position of your text will be independent of the size of the plot: ![]()
0 Comments
Leave a Reply. |