https://matplotlib.org/tutorials/text/text_props.html
https://matplotlib.org/tutorials/text/mathtext.html
A common use for text is to annotate some feature of the plot, and the annotate() method provides helper functionality to make annotations easy.
# Font options. fontsize=12 family="serif" # or fontfamily or fontname backgroundcolor="white" color="red" alpha=0.5 # the alpha value used for blending (alpha=0 invisible) rotation=45 # the rotation angle in degrees (counterclockwise)
# https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.title.html
# matplotlib.pyplot.title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)
# Set a title for the Axes.
# loc : 'left', 'right', 'center' (default)
plt.title('Special functions', loc='left', color='red')
# https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.xlabel.html
# https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.ylabel.html
plt.xlabel('x', color='green')
plt.ylabel('y')
# https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.text.html # matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs) # x, y : scalars, the position to place the text # s : string, the text plt.text(11, 26, "Message", fontsize=12, color="black") plt.text(120, .025, r'$\alpha=5,\ \delta=10$') # raw strings for TeX expressions
# https://matplotlib.org/tutorials/text/annotations.html
# https://matplotlib.org/gallery/text_labels_and_annotations/annotation_demo.html
# matplotlib.pyplot.annotate(text, xy, *args, **kwargs)
# text : the text of the annotation
# xy : the point (x,y) to annotate
# xytext : the location (xt, yt) of the text
plt.annotate("Info", (1.5, 0.5))
# https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html
# matplotlib.pyplot.legend(*args, **kwargs) # use after plot()
#
# Call signatures:
# plt.legend() # automatic detection of elements to be shown in the legend
# [use label="..." in plot() or scatter()]
#
# plt.legend(loc="best") # location (default)
# loc=1 or loc='upper right',
# loc=2 or loc='upper left',
# loc=3 or loc='lower left',
# loc=4 or loc='lower right',
# loc='center left', 'center right', 'center', 'upper center', 'lower center'
#
# plt.legend(ncol=n) # the number of colums in the legend
#
# plt.legend(labels) # labeling existing plot elements
# plt.legend(['A simple line']) # problems when many lines
#
# plt.legend(handles, labels)
# explicitly defining the elements in the legend
line1, = plt.plot(x, y1)
line2, = plt.plot(x, y2)
line3, = plt.plot(x, y3)
plt.legend((line1, line2, line3), ('label1', 'label2', 'label3')) # after plot()
https://matplotlib.org/tutorials/introductory/pyplot.html
import numpy as np
import matplotlib.pyplot as plt
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
# the histogram of the data
n, bins, patches = plt.hist(x, 50, density=True, facecolor='g', alpha=0.75)
#plt.xlabel('Smarts')
plt.xlabel('Smarts', fontsize=14, color='red')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
# mathematical expressions (raw string, TeX expression)
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-1, 1, .01)
for a in range(1, 5):
plt.plot(x, a*x, 'k-', lw=a, label='y(x)={}*x'.format(a))
plt.legend(ncol=2, loc=2)
plt.show()