• 第一章:使用函数绘制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()

  • 相关阅读:
    面试题:区分List中remove(int index)和remove(Object obj)
    Collection的子接口之一:List 接口
    面试题:ArrayList、LinkedList、Vector三者的异同?
    jdk 5.0 新增的foreach循环(用于遍历集合、数组)
    Iterator迭代器接口(遍历Collection的两种方式之一)
    哈希值
    Collection接口方法
    集合框架的概述
    注解(Annotation)
    System类、Math类、BigInteger与BigDecimal的使用
  • 原文地址:https://www.cnblogs.com/zhaco/p/11541005.html
Copyright © 2020-2023  润新知