• 数据可视化(Python)


    机器学习中许多时候需要将数据可视化,方便更直观地表现目前的数据。

    安装方法:

    pip install matplotlib

    matplotlib是一个庞大的绘图库模块。pyplot子模块可以完成许多图表绘制。

    认识matplotlib.pyplot模块的主要函数

    绘制图表
    函数名称说明
    plot绘制折线图
    scatter绘制散点图
    hist绘制直方图

    坐标轴设定
    函数名称说明
    title(标题)设定坐标轴的标题
    axis()可以设定坐标轴的最小和最大刻度范围
    xlim(x_Min,x_Max)设定x轴的刻度范围
    ylim(y_Min,y_Max)设定y轴的刻度范围
    label(名称)设定图表标签图例
    xlabel(名称)设定x轴的名称
    ylabel(名称)设定y轴的名称
    xticks(刻度值)设定x轴刻度值
    yticks(刻度值)设定y轴刻度值
    tick_params()设定坐标轴的刻度大小、颜色
    legend()设定坐标的图例
    text()在坐标轴指定位置输出字符串
    grid()图表增加网格线
    show()显示图表
    cla()清除图表

    图片的读取与储存
    函数名称说明
    imread(文件名)读取图片文件
    savefig(文件名)将图片存入文件

    绘制简单的折线图plot()

    常用语法格式如下:

    plot(x, y, lw=x, ls='x', label='xxx', color)

    x:x轴系列值。

    y:y轴系列值。

    lw:linewidth的缩写,折线图的线条宽度。预设线条宽度是1,参数设定线条的粗细。

    ls:linestyle的缩写,折线图的线条样式。

    color:缩写是c,设置色彩。

    label:图表的标签

    画线基础实践

    square[]列表有9笔数据代表y轴值,数据基本上是x轴索引0~8的平方值序列。

    1. import matplotlib.pyplot as plt
    2. x=[x for x in range(9)]
    3. squares=[0,1,4,9,16,25,36,49,64]
    4. plt.plot(x,squares)
    5. plt.show()

    运行结果:

    省略x轴数据 

    1. import matplotlib.pyplot as plt
    2. squares=[0,1,4,9,16,25,36,49,64]
    3. plt.plot(squares)
    4. plt.show()

    运行结果如同上一个实例。

    将x轴刻度设为0~8,y轴刻度设为0~70。

    1. import matplotlib.pyplot as plt
    2. squares=[0,1,4,9,16,25,36,49,64]
    3. plt.plot(squares)
    4. plt.axis(0,8,0,70)
    5. plt.show()

    运行结果: 

    增加网络线

    1. import matplotlib.pyplot as plt
    2. squares=[0,1,4,9,16,25,36,49,64]
    3. plt.plot(squares)
    4. plt.axis([0, 8, 0, 70])
    5. plt.grid()
    6. plt.show()

    运行结果

    线条宽度linewidth

    设定线条宽度是10,使用lw=10。

    1. import matplotlib.pyplot as plt
    2. squares=[0,1,4,9,16,25,36,49,64]
    3. plt.plot(squares,lw=10)
    4. plt.show()

    运行结果

    标题的显示

    title(标题名称,fontsize=字号)

    xlabel(标题名称,fontsize=字号)

    ylabel(标题名称,fontsize=字号)

    默认字号大小是12。

    使用默认字号为图表与x、y轴建立标题。

    1. import matplotlib.pyplot as plt
    2. squares=[0,1,4,9,16,25,36,49,64]
    3. plt.plot(squares,lw=10)
    4. plt.title('Test Chart')
    5. plt.xlabel('Value')
    6. plt.ylabel('Square')
    7. plt.show()

    运行结果:

    使用设定字号24建立图标标题,字号16建立x、y轴标题。

    1. import matplotlib.pyplot as plt
    2. squares=[0,1,4,9,16,25,36,49,64]
    3. plt.plot(squares,lw=10)
    4. plt.title('Test Chart',fontsize=24)
    5. plt.xlabel('Value',fontsize=16)
    6. plt.ylabel('Square',fontsize=16)
    7. plt.show()

    运行结果:

    坐标轴刻度的设定

    在设计图表时可以使用tick_params()设计设定坐标轴的刻度大小、颜色以及应用范围。

    tick_paramas(axis='xx', labelsize=xx, color='xx')

    如果axis的xx是both,代表应用到x轴和y轴;如果xx是x,代表应用到x轴;如果xx是y,代表应用到y轴;

    使用不同刻度与颜色绘制图表。

    1. import matplotlib.pyplot as plt
    2. squares = [0, 1, 4, 9, 16, 25, 36, 49, 64]
    3. plt.plot(squares, lw=10) # 列表squares数据是y轴的值, 线条宽度是10
    4. plt.title('Test Chart', fontsize=24)
    5. plt.xlabel('Value', fontsize=16)
    6. plt.ylabel('Square', fontsize=16)
    7. plt.tick_params(axis='both', labelsize=12, color='red')
    8. plt.show()

    运行结果:

    多组数据的应用

    plot(seq,第一组数据,seq,第二组数据,...)

    设计含多组数据的图表。

    1. import matplotlib.pyplot as plt
    2. data1 = [1, 4, 9, 16, 25, 36, 49, 64] # data1线条
    3. data2 = [1, 3, 6, 10, 15, 21, 28, 36] # data2线条
    4. seq = [1,2,3,4,5,6,7,8]
    5. plt.plot(seq, data1, seq, data2) # data1&2线条
    6. plt.title("Test Chart", fontsize=24)
    7. plt.xlabel("x-Value", fontsize=14)
    8. plt.ylabel("y-Value", fontsize=14)
    9. plt.tick_params(axis='both', labelsize=12, color='red')
    10. plt.show()

    运行结果:

    线条色彩与样式

    常见的色彩
    色彩字符色彩说明
    'b'blue(蓝色)
    'c'cyan(青色)
    'g'green(绿色)
    'k'black(黑色)
    'm'magenta(品红)
    'r'red(红色)
    'w'white(白色)
    'y'yellow(黄色)

    常见的样式
    字符说明
    ‘-’或‘solid’实线
    ‘--’或‘dashed’虚线
    ‘-.’或‘dashdot’虚点线
    ‘:’或‘dotted’点线
    ‘.’点标记
    ‘,’像素标记
    ‘o’圆标记
    ‘v’反三角标记
    ‘^’三角标记
    ‘<’左三角形
    ‘>’右三角形
    ‘s’方形标记
    ‘p’五角标记
    ‘*’星星标记
    ‘+’加号标记
    ‘-’减号标记
    ‘x’X标记
    ‘H’六边形1标记
    ‘h’六边形2标记

    上述可以混合使用,例如‘r-.’代表红色虚点线。

    采用不同色彩与线条样式绘制图表

    1. import matplotlib.pyplot as plt
    2. data1 = [1, 2, 3, 4, 5, 6, 7, 8] # data1线条
    3. data2 = [1, 4, 9, 16, 25, 36, 49, 64] # data2线条
    4. data3 = [1, 3, 6, 10, 15, 21, 28, 36] # data3线条
    5. data4 = [1, 7, 15, 26, 40, 57, 77, 100] # data4线条
    6. seq = [1, 2, 3, 4, 5, 6, 7, 8]
    7. plt.plot(seq, data1, 'g--', seq, data2, 'r-.', seq, data3, 'y:', seq, data4, 'k.')
    8. plt.title("Test Chart", fontsize=24)
    9. plt.xlabel("x-Value", fontsize=14)
    10. plt.ylabel("y-Value", fontsize=14)
    11. plt.tick_params(axis='both', labelsize=12, color='red')
    12. plt.show()

     

    重新设计上图绘制线条 ,同时为各个点加上标记。

    1. import matplotlib.pyplot as plt
    2. data1 = [1, 2, 3, 4, 5, 6, 7, 8] # data1线条
    3. data2 = [1, 4, 9, 16, 25, 36, 49, 64] # data2线条
    4. data3 = [1, 3, 6, 10, 15, 21, 28, 36] # data3线条
    5. data4 = [1, 7, 15, 26, 40, 57, 77, 100] # data4线条
    6. seq = [1, 2, 3, 4, 5, 6, 7, 8]
    7. plt.plot(seq, data1, '-*', seq, data2, '-o', seq, data3, '-^', seq, data4, '-s')
    8. plt.title("Test Chart", fontsize=24)
    9. plt.xlabel("x-Value", fontsize=14)
    10. plt.ylabel("y-Value", fontsize=14)
    11. plt.tick_params(axis='both', labelsize=12, color='red')
    12. plt.show()

     

    刻度设计

    图例legend()

    保存与开启文件

    在图上标记文件

    绘制散点图scatter()

    numpy模块

    图表显示中文

  • 相关阅读:
    Spring Cloud Config 使用 JDBC 方式
    无人零售与传统便利店的竞争优势
    【uniapp】subnvue组件数据更新视图未更新问题
    练习实践:ubuntu18.04安装、配置Nginx+PHP环境,两种配置方式,多站点
    【PyG】理解MessagePassing过程,GCN demo详解
    2023版 STM32实战10 内部Flash读写
    Vue引入异步组件
    基于LeNet实现手写体数字识别实验
    线性代数相关笔记
    【Flask 系统教程 7】数据库使用 SQLAlchemy
  • 原文地址:https://blog.csdn.net/DXB2021/article/details/126368367