I am trying to plot lots of diagrams, and for each diagram, I want to use a variable to label them. How can I add a variable to plt.title?
For example:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1)
plt.ylabel('y')
plt.xlabel('x')
for t in xrange(50, 61):
plt.title('f model: T=t')
for i in xrange(4, 10):
plt.plot(1.0 / i, i ** 2, 'ro')
plt.legend
plt.show()
In the argument of plt.title()
, I want t
to be variable changing with the loop.
Create data points for x and y using numpy and num (is a variable) to calculate y and set this in title. Plot x and y data points using plot() method with red color. Set the title of the curve with variable num. To display the figure, use show() method.
With Pyplot, you can use the title() function to set a title for the plot.
matplotlib. pyplot is a collection of functions that make matplotlib work like MATLAB. Each pyplot function makes some change to a figure: e.g., creates a figure, creates a plotting area in a figure, plots some lines in a plotting area, decorates the plot with labels, etc.
You can change a value in a string by using %
. Documentation can be found here.
For example:
num = 2
print "1 + 1 = %i" % num # i represents an integer
This will output:
1 + 1 = 2
You can also do this with floats and you can choose how many decimal place it will print:
num = 2.000
print "1.000 + 1.000 = %1.3f" % num # f represents a float
gives:
1.000 + 1.000 = 2.000
Using this in your example to update t
in the figure title:
plt.figure(1)
plt.ylabel('y')
plt.xlabel('x')
for t in xrange(50,61):
plt.title('f model: T=%i' %t)
for i in xrange(4,10):
plt.plot(1.0/i,i**2,'ro')
plt.legend
plt.show()
You can use print formatting.
plt.title('f model: T= {}'.format(t))
orplt.title('f model: T= %d' % (t))
# c style printYou can also just concatenate the title string:
x=1
y=2
plt.title('x= '+str(x)+', y = '+str(y))
will make the title look like
x= 1, y = 2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With