- Notifications
You must be signed in to change notification settings - Fork29
Label line using matplotlib.
License
NotificationsYou must be signed in to change notification settings
cphyc/matplotlib-label-lines
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Easily label line(s) using matplotlib.
The code is heavily based onhttp://stackoverflow.com/questions/16992038/inline-labels-in-matplotlib (original code from NauticalMile).
Just do:
pip install matplotlib-label-lines
You can try it online on binder, get some inspiration fromthe example or from the following script:
importnumpyasnpfrommatplotlibimportpyplotaspltfromscipy.statsimportchi2,loglaplacefromlabellinesimportlabelLine,labelLinesX=np.linspace(0,1,500)A= [1,2,5,10,20]funcs= [np.arctan,np.sin,loglaplace(4).pdf,chi2(5).pdf]fig,axes=plt.subplots(ncols=2,nrows=3,constrained_layout=True,figsize=(8,8))axes=axes.flatten()ax=axes[0]forainA:ax.plot(X,np.arctan(a*X),label=str(a))labelLines(ax.get_lines(),zorder=2.5)ax=axes[1]forainA:ax.plot(X,np.sin(a*X),label=str(a))labelLines(ax.get_lines(),align=False,fontsize=14)ax=axes[2]forainA:ax.plot(X,loglaplace(4).pdf(a*X),label=str(a))xvals= [0.8,0.55,0.22,0.104,0.045]labelLines(ax.get_lines(),align=False,xvals=xvals,color="k")ax=axes[3]forainA:ax.plot(X,chi2(5).pdf(a*X),label=str(a))lines=ax.get_lines()l1=lines[-1]labelLine(l1,0.85,label=r"$Re=${}".format(l1.get_label()),align=False,yoffset=0.01,ha="right",backgroundcolor="none",)labelLines(lines[:-1],xvals=0.85,yoffsets=0.01,align=False,ha="right",backgroundcolor="none")# labelLines also supports log-scaled x-axesax=axes[4]forainA:ax.semilogx(X,np.arctan(5*a*X),label=str(a))labelLines(ax.get_lines(),zorder=2.5)ax=axes[5]forainA:ax.semilogx(X,chi2(5).pdf(a*X),label=str(a))labelLines(ax.get_lines(),xvals=(0.1,1),zorder=2.5)fig.show()
If you're using this package for research purposes, consider citing theZenodo entry (https://zenodo.org/record/7428071).
About
Label line using matplotlib.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors15
Uh oh!
There was an error while loading.Please reload this page.