第一章:使用函数绘制matplotlib的图表组成元素

1、绘制直线图

 1 # ============================展现变量的趋势变化==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 
 8 # sin函数
 9 y = np.cos(x)
10 
11 # 在标准正态分布中随机的取100个数
12 y1 = np.random.randn(100)
13 
14 # ===========绘制直线图=============
15 # x:x轴上的数值,y:y轴上的数值,ls:折线图线条风格,lw:折线图的线条宽度,label:标记图形内容的标签文本
16 plt.plot(x,y,ls="--",lw=2,label="plot figure")
17 
18 # 给图形加上图例
19 plt.legend()
20 
21 # 显示图片
22 plt.show()

 2、绘制散点图

 1 # ============================寻找变量之间的变化关系==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0.05,10,1000)
 7 
 8 # 在标准正态分布中随机的取100个数
 9 y = np.random.randn(1000)
10 
11 # ===========绘制散点图=============
12 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
13 plt.scatter(x,y,c="b",label="scatter figure")
14 
15 # 给图形加上图例
16 plt.legend()
17 
18 # 显示图片
19 plt.show()

 3、设置X/Y轴的数值显示范围

# ============================设置X/Y轴的数值显示范围==========================
import matplotlib.pyplot as plt
import numpy as np

# 从0到10均匀的取1000个数
x = np.linspace(0,10,1000)

# 在标准正态分布中随机的取100个数
y = np.random.randn(1000)

# ===========绘制散点图=============
# x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
plt.scatter(x,y,c="b",label="scatter figure")

# 给图形加上图例
plt.legend()

# 设置X/Y轴的数值显示范围
plt.xlim(0,10)
plt.ylim(0,1)
# 显示图片
plt.show()

 4、设置X/Y轴的文本标签

 1 # ============================设置X/Y轴的文本标签==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 
 8 # 在标准正态分布中随机的取100个数
 9 y = np.random.randn(1000)
10 
11 # ===========绘制散点图=============
12 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
13 plt.scatter(x,y,c="b",label="scatter figure")
14 
15 # 给图形加上图例
16 plt.legend()
17 
18 # 设置X/Y轴的数值显示范围
19 plt.xlim(0,10)
20 plt.ylim(0,1)
21 
22 # 设置X/Y轴的文本标签
23 plt.xlabel(xlabel="X-axis")
24 plt.ylabel(ylabel="Y-axis")
25 
26 # 显示图片
27 plt.show()

 5、设置X/Y轴刻度的参考线

 1 # ============================设置X/Y轴刻度的参考线==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 plt.legend()
14 
15 # 绘制X/Y轴刻度的参考线
16 plt.grid(linestyle=":",color="r")
17 
18 # 设置X/Y轴的数值显示范围
19 plt.xlim(0,10)
20 plt.ylim(-1,1)
21 
22 # 设置X/Y轴的文本标签
23 plt.xlabel(xlabel="X-axis")
24 plt.ylabel(ylabel="Y-axis")
25 
26 # 显示图片
27 plt.show()

 6、绘制X/Y轴的水平参考线

 1 # ============================绘制X/Y轴的水平参考线==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 plt.legend()
14 
15 # 绘制X/Y轴刻度的参考线
16 plt.grid(linestyle=":",color="r")
17 
18 # 绘制X/Y轴的水平参考线
19 plt.axhline(y=0.00,c="c",ls="-",lw=2)         # 水平
20 plt.axvline(x=4.7,c="c",ls="-",lw=2)          # 垂直
21 
22 # 设置X/Y轴的数值显示范围
23 plt.xlim(0,10)
24 plt.ylim(-1,1)
25 
26 # 设置X/Y轴的文本标签
27 plt.xlabel(xlabel="X-axis")
28 plt.ylabel(ylabel="Y-axis")
29 
30 # 显示图片
31 plt.show()

 7、绘制垂直于X/Y轴的参考区域

 1 # ============================绘制垂直于X/Y轴的参考区域==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 plt.legend()
14 
15 # 绘制X/Y轴刻度的参考线
16 # linestyle:网格线的线条风格;color:线条颜色
17 plt.grid(linestyle=":",color="r")
18 
19 # 绘制X/Y轴的水平参考线
20 plt.axhline(y=0.00,c="c",ls="-",lw=2)       # 水平
21 plt.axvline(x=4.7,c="c",ls="-",lw=2)        # 垂直
22 
23 # 绘制垂直于X/Y轴的参考区域
24 # xmin/ymin:起始位置,xmax/ymax:终止位置,facecolor:参考区域填充颜色,alpha:透明度
25 plt.axhspan(ymin=-0.15,ymax=0.15,facecolor="y",alpha=0.3)       # 水平
26 plt.axvspan(xmin=4,xmax=5.4,facecolor="y",alpha=0.3)            # 垂直
27 
28 # 设置X/Y轴的数值显示范围
29 plt.xlim(0,10)
30 plt.ylim(-1,1)
31 
32 # 设置X/Y轴的文本标签
33 plt.xlabel(xlabel="X-axis")
34 plt.ylabel(ylabel="Y-axis")
35 
36 # 显示图片
37 plt.show()

 8、图形内容指向型注释文本

 1 # ============================图形内容指向型注释文本==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 plt.legend()
14 
15 # 绘制X/Y轴刻度的参考线
16 # linestyle:网格线的线条风格;color:线条颜色
17 plt.grid(linestyle=":",color="r")
18 
19 # 绘制X/Y轴的水平参考线
20 plt.axhline(y=0.00,c="c",ls="-",lw=2)       # 水平
21 plt.axvline(x=4.7,c="c",ls="-",lw=2)        # 垂直
22 
23 # 绘制垂直于X/Y轴的参考区域
24 # xmin/ymin:起始位置,xmax/ymax:终止位置,facecolor:参考区域填充颜色,alpha:透明度
25 plt.axhspan(ymin=-0.15,ymax=0.15,facecolor="y",alpha=0.3)       # 水平
26 plt.axvspan(xmin=4,xmax=5.4,facecolor="y",alpha=0.3)            # 垂直
27 
28 # 图形内容指向型注释文本
29 # Maximum:要注释的文本,xy:被注释图形内容的坐标位置,xytext:注释文本的位置,
30 # weight:注释内容的字体粗细风格,color:注释文本颜色,arrowprops:指示被注释内容的箭头的属性字典
31 plt.annotate(s="Maximum",xy=(np.pi/2,1.0),xytext=((np.pi/2)+1.0,.8),weight="bold",color="g",
32              arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="g"))
33 
34 # 设置X/Y轴的数值显示范围
35 plt.xlim(0,10)
36 plt.ylim(-1,1)
37 
38 # 设置X/Y轴的文本标签
39 plt.xlabel(xlabel="X-axis")
40 plt.ylabel(ylabel="Y-axis")
41 
42 # 显示图片
43 plt.show()

 9、添加图形内容无指向型注释文本

 1 =======添加图形内容无指向型注释文本==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 plt.legend()
14 
15 # 绘制X/Y轴刻度的参考线
16 # linestyle:网格线的线条风格;color:线条颜色
17 plt.grid(linestyle=":",color="r")
18 
19 # 绘制X/Y轴的水平参考线
20 plt.axhline(y=0.00,c="c",ls="-",lw=2)       # 水平
21 plt.axvline(x=4.7,c="c",ls="-",lw=2)        # 垂直
22 
23 # 绘制垂直于X/Y轴的参考区域
24 # xmin/ymin:起始位置,xmax/ymax:终止位置,facecolor:参考区域填充颜色,alpha:透明度
25 plt.axhspan(ymin=-0.15,ymax=0.15,facecolor="y",alpha=0.3)       # 水平
26 plt.axvspan(xmin=4,xmax=5.4,facecolor="y",alpha=0.3)            # 垂直
27 
28 # 图形内容指向型注释文本
29 # Maximum:要注释的文本,xy:被注释图形内容的坐标位置,xytext:注释文本的位置,
30 # weight:注释内容的字体粗细风格,color:注释文本颜色,arrowprops:指示被注释内容的箭头的属性字典
31 plt.annotate(s="Maximum",xy=(np.pi/2,1.0),xytext=((np.pi/2)+1.0,.8),weight="bold",color="g",
32              arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="g"))
33 
34 # 添加图形内容无指向型注释文本
35 plt.text(x=2.6,y=0.55,s="y=sin(x)",weight="bold",color="m")
36 
37 # 设置X/Y轴的数值显示范围
38 plt.xlim(0,10)
39 plt.ylim(-1,1)
40 
41 # 设置X/Y轴的文本标签
42 plt.xlabel(xlabel="X-axis")
43 plt.ylabel(ylabel="Y-axis")
44 
45 # 显示图片
46 plt.show()

 10、添加图形内容标题

 1 =======添加图形内容标题==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 plt.legend()
14 
15 # 绘制X/Y轴刻度的参考线
16 # linestyle:网格线的线条风格;color:线条颜色
17 plt.grid(linestyle=":",color="r")
18 
19 # 绘制X/Y轴的水平参考线
20 plt.axhline(y=0.00,c="c",ls="-",lw=2)       # 水平
21 plt.axvline(x=4.7,c="c",ls="-",lw=2)        # 垂直
22 
23 # 绘制垂直于X/Y轴的参考区域
24 # xmin/ymin:起始位置,xmax/ymax:终止位置,facecolor:参考区域填充颜色,alpha:透明度
25 plt.axhspan(ymin=-0.15,ymax=0.15,facecolor="y",alpha=0.3)       # 水平
26 plt.axvspan(xmin=4,xmax=5.4,facecolor="y",alpha=0.3)            # 垂直
27 
28 # 图形内容指向型注释文本
29 # Maximum:要注释的文本,xy:被注释图形内容的坐标位置,xytext:注释文本的位置,
30 # weight:注释内容的字体粗细风格,color:注释文本颜色,arrowprops:指示被注释内容的箭头的属性字典
31 plt.annotate(s="Maximum",xy=(np.pi/2,1.0),xytext=((np.pi/2)+1.0,.8),weight="bold",color="g",
32              arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="g"))
33 
34 # 添加图形内容无指向型注释文本
35 plt.text(x=2.6,y=0.55,s="y=sin(x)",weight="bold",color="m")
36 
37 # 添加图形内容标题
38 plt.title(label="y=sin(x)")
39 
40 # 设置X/Y轴的数值显示范围
41 plt.xlim(0,10)
42 plt.ylim(-1,1)
43 
44 # 设置X/Y轴的文本标签
45 plt.xlabel(xlabel="X-axis")
46 plt.ylabel(ylabel="Y-axis")
47 
48 # 显示图片
49 plt.show()

 11、标识不同图形的文本标签图例

 1 # ============================标识不同图形的文本标签图例==========================
 2 import matplotlib.pyplot as plt
 3 import numpy as np
 4 
 5 # 从0到10均匀的取1000个数
 6 x = np.linspace(0,10,1000)
 7 y = np.sin(x)
 8 
 9 # x:x轴上的数值,y:y轴上的数值,c:颜色,label:标记图形内容的标签文本
10 plt.plot(x,y,ls="-",lw=2,c="b",label="plot figure")
11 
12 # 给图形加上图例
13 # loc:图例在图像当中的地理位置
14 plt.legend(loc="lower right")
15 
16 # 绘制X/Y轴刻度的参考线
17 # linestyle:网格线的线条风格;color:线条颜色
18 plt.grid(linestyle=":",color="r")
19 
20 # 绘制X/Y轴的水平参考线
21 plt.axhline(y=0.00,c="c",ls="-",lw=2)       # 水平
22 plt.axvline(x=4.7,c="c",ls="-",lw=2)        # 垂直
23 
24 # 绘制垂直于X/Y轴的参考区域
25 # xmin/ymin:起始位置,xmax/ymax:终止位置,facecolor:参考区域填充颜色,alpha:透明度
26 plt.axhspan(ymin=-0.15,ymax=0.15,facecolor="y",alpha=0.3)       # 水平
27 plt.axvspan(xmin=4,xmax=5.4,facecolor="y",alpha=0.3)            # 垂直
28 
29 # 图形内容指向型注释文本
30 # Maximum:要注释的文本,xy:被注释图形内容的坐标位置,xytext:注释文本的位置,
31 # weight:注释内容的字体粗细风格,color:注释文本颜色,arrowprops:指示被注释内容的箭头的属性字典
32 plt.annotate(s="Maximum",xy=(np.pi/2,1.0),xytext=((np.pi/2)+1.0,.8),weight="bold",color="g",
33              arrowprops=dict(arrowstyle="->",connectionstyle="arc3",color="g"))
34 
35 # 添加图形内容无指向型注释文本
36 plt.text(x=2.6,y=0.55,s="y=sin(x)",weight="bold",color="m")
37 
38 # 添加图形内容标题
39 plt.title(label="y=sin(x)")
40 
41 # 设置X/Y轴的数值显示范围
42 plt.xlim(0,10)
43 plt.ylim(-1,1)
44 
45 # 设置X/Y轴的文本标签
46 plt.xlabel(xlabel="X-axis")
47 plt.ylabel(ylabel="Y-axis")
48 
49 # 显示图片
50 plt.show()

原文地址:https://www.cnblogs.com/zhaco/p/11541005.html