In depth learning, there are several commonly used diagrams:
- diagram
- Dot graph
- display picture
1 installation
They are usually self-contained, such as conda software. If not, what about desktop installation? If it is already installed, you can skip it.
1. Open the console (win+R) - > Enter cmd
2. Enter the following command
pip install matplotlib perhaps conda install matplotlib
Just finish.
1.1 display Chinese
import matplotlib.pyplot as plt # Display Chinese plt.rcParams['font.sans-serif'] = [u'SimHei'] plt.rcParams['axes.unicode_minus'] = False
Here are their basic usage methods.
2 curve
2.1 basic use of curves
By drawing the curve of cos function
import matplotlib.pyplot as plt import numpy as np def f(t): return np.exp(-t) * np.cos(2 * np.pi * t) t1 = np.arange(0.0, 3.0, 0.01) plt.plot(t1,f(t1)) plt.show()
The effects are as follows:
2.2 basic properties of figure
attribute | purpose |
---|---|
xlabel | Set x to x |
ylabel | Set Y to y |
ylim(m,n) | Set y to be between m-n |
xlim(m,n) | Set x to range between m-n |
title | Sets the title of the icon |
The specific codes are as follows:
import matplotlib.pyplot as plt import numpy as np def f(t): return np.exp(-t) * np.cos(2 * np.pi * t) t1 = np.arange(0.0, 3.0, 0.01) plt.plot(t1, f(t1)) plt.xlabel("x") #Set x to x plt.ylabel("y") #Set Y to y plt.ylim(0, 0.6) #Set y between 0-0.6 plt.xlim((0, 2)) #Set x to range from 0-2 plt.show()
The effects are as follows:
2.3 plot attribute setting
attribute | purpose | System default |
---|---|---|
label | Label lines | nothing |
color | Sets the color of the line | g stands for green, b for blue, etc |
import matplotlib.pyplot as plt import numpy as np def f(t): return np.exp(-t) * np.cos(2 * np.pi * t) t1 = np.arange(0.0, 3.0, 0.01) plt.plot(t1, f(t1), label="cos", color="g") plt.plot(t1, t1 ** 2, label="quadratic", color="b") plt.show()
Green and blue are set for the two curves respectively, and the effects are as follows:
2.4 legend usage
When you need to mark and explain the diagrams with different colors when drawing multiple diagrams, you can display them with legends.
Set the label and color for each curve, and then set the legend() function.
2.5 specific use of subplot
In the actual project, you may want to compare various types of drawings. Can you draw multiple drawings on one canvas? It can be solved by subplot.
There are two methods commonly used in subplot. First, we will introduce the methods that are not easy to understand. (from my point of view).
2.5.1 subplot(pos, kwargs)
This pos consists of rows, columns and indexes. What do you mean?
The corresponding position of the index is from left to right and from top to bottom. Take 2 rows and 2 columns as an example to briefly explain the index:
Column 1 | Column 2 | |
---|---|---|
Line 1 | 1 | 2 |
Line 2 | 3 | 4 |
subplot(221) indicates that the graph has 4 (2 * 2) sub graphs, which are placed in the first one. The specific codes are as follows:
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) axs1 = plt.subplot(221) #first axs1.hist(data[0]) axs2 = plt.subplot(222) #the second axs2.scatter(data[0], data[1]); axs3 = plt.subplot(223) #Third axs3.plot(data[0], data[1]); axs4 = plt.subplot(224) #Fourth axs4.hist2d(data[0], data[1]); plt.show()
If there are only three pictures, spread out at the bottom, desktop processing, in fact, you can think so. Divide the canvas into the upper half and the lower half. The upper half displays two and the lower half displays one.
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) axs1 = plt.subplot(221) #Two rows and two columns, first. axs1.hist(data[0]) axs2 = plt.subplot(222) #Two rows and two columns, in the second. axs2.scatter(data[0], data[1]); axs3 = plt.subplot(212) axs3.plot(data[0], data[1]); #Two rows and one column, on the second row plt.show()
The effects are as follows:
2.5.2 subplot(nrows, ncols, index, **kwargs)
This method is actually easier and more intuitive. nrows represents rows, ncols represents columns, and index represents where to put them. It is essentially the same as the subplot(position) above.
- First, implement a 2 * 2 Icon
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) axs1 = plt.subplot(2, 2, 1) axs1.hist(data[0]) axs2 = plt.subplot(2, 2, 2) axs2.scatter(data[0], data[1], color="b"); axs3 = plt.subplot(2,2,3) axs3.plot(data[0], data[1]); axs4 = plt.subplot(2,2,4) axs4.hist2d(data[0], data[1]); plt.show()
The effect is the same
- Secondly, implement a and Figure_subplot_2 the same figure.
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) axs1 = plt.subplot(2,2,1) #Two rows and two columns, first. axs1.hist(data[0]) axs2 = plt.subplot(2,2,2) #Two rows and two columns, in the second. axs2.scatter(data[0], data[1]); axs3 = plt.subplot(2,1,2) axs3.plot(data[0], data[1]); #Two rows and one column, on the second row plt.show()
2.6 annotation
Annotation is realized through annotate, which mainly consists of three parameters:
field | significance |
---|---|
s | Contents of notes |
xy | Position of arrow |
xytext | Note content location |
arrowprops | Style of arrow |
The specific code is as follows:
x = np.arange(-10, 11, 1) y = x * x plt.title('title') plt.plot(x, y) # Add comments plt.annotate('this is annotate', xy=(0, 1), xytext=(-2, 22), arrowprops={'headwidth': 10, 'facecolor': 'r'}) plt.show()
The effects are as follows:
3 dot chart
First look at the renderings:
The code is as follows:
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) plt.scatter(data[0], data[1],c="b",marker='o') plt.show()
What parameters are included in scatter?
3.1 parameter description
parameter | name | usage method |
---|---|---|
x | x position of point | It can be a fixed value or a list |
y | y position of point | It can be a fixed value or a list |
s | Set the size of the point | Is a fixed size |
c | colour | It can be an rgb value (#782728) or a color character (b) |
marker | Shape of point | See the table below |
alpha | transparency | Between 0-1 |
linewidths | Sets the width of the border | Values greater than 0 |
What are the markers? You can find them in matplotlib.markers.MarkerStyle.markers. I listed them. See the table below:
marker value | shape |
---|---|
'o' | origin |
'v' | Lower triangle |
'^' | Upper triangle |
'<' | Left triangle |
'>' | Right triangle |
'8' | Octagonal |
's' | square |
'p' | pentagon |
'*' | star |
'h' | Hexagon 1 |
'H' | Hexagon 2 |
'D' | diamond |
'd' | Single rhomboid |
'P' | Filled plus sign |
'X' | Filled multiplier |
3.2 specific implementation
Specific examples:
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) plt.scatter(data[0], data[1], s=data[1] * 20, c='b', marker='o', alpha=0.3, linewidths=2) plt.show()
design sketch:
import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) plt.scatter(data[0], data[1], s=data[1] * 20, c='r', marker='^', alpha=0.9, linewidths=1) plt.show()
design sketch:
4 display picture
import matplotlib.pyplot as plt image_content = plt.imread('myworkspace/pandasDemo/Figure_subplot.png') #Read picture information plt.imshow(image_content) #display picture plt.show()