zoukankan      html  css  js  c++  java
  • Matplotlib使用教程

    1.Matplotlib简介

    Matplotlib是一个Python绘图库,可以非常方便的绘制出以下图形:

    • 折线图
    • 散点图
    • 条形图
    • 直方图
    • 以及等高线图、3D图形,甚至是图形动画等。

    2.安装

    2.1 方式一

    在命令窗口执行以下命令:

    pip install matplotlib
    

    2.2 方式二

    官网去下载对应的安装包,然后在命令窗口执行以下命令:

    cd download  # download为下载目录
    pip install xxx.whl  # xxx.whl为安装包名
    

    注:Windows环境需要确保安装有Visual Studio。

    3.基础使用

    3.1 基本用法

    • 导包
    from matplotlib import pyplot as plt
    
    • 配置x轴、y轴数据
    x = [1, 2, 3]
    y = [2, 4, 6]
    
    • 绘制
    plt.plot(x, y)
    
    • 展示
    plt.show()
    
    • 保存
    plt.savefig("./sig_size.png")
    

    参数为图片保存地址。

    • 效果图

    3.2 设置图片和线条格式

    注:所有设置都需要放在图片绘制前

    • 设置图片
    fig = plt.figure(figsize=(20, 8), dpi=80)
    

    figsize设置的是图片的长和宽,单位为英寸;dpi为每英寸长度内像素点数;上面的设置生成的图片大小为1600x640(像素)。

    • 设置线条格式
    plt.plot(x, y, color="red", linestyle="-.", linewidth=5, alpha=0.4)
    

    color设置的是线条颜色,linestyle设置的是线条样式,linewidth设置的是线条宽度,alpha设置的是线条的透明度。

    • 效果图

    3.3 设置坐标轴

    • 设置中文支持
    from matplotlib import font_manager
    my_font = font_manager.FontProperties(fname="C:WindowsFontsmsyh.ttf")
    

    fname对应的是系统中文字体位置(其他类型字体没试过,自行尝试)。

    • 设置坐标轴刻度
    plt.xticks(x, x_ticks_labels, rotation=0, fontproperties=my_font)
    plt.yticks(y, y_ticks_labels, rotation=45, fontproperties=my_font)
    

    x,y为数字类型数组,x_ticks_labels、y_ticks_labels为字符串类型数组,一般是对应数据的说明;rotation设置的是标签的旋转度;fontproperties设置的是字体。

    • 设置坐标轴描述信息
    plt.xlabel("产品", fontproperties=my_font)
    plt.ylabel("销量", fontproperties=my_font)
    
    • 设置坐标轴边框
    ax = plt.gca()
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    
    • 设置x轴标签和坐标轴位置
    ax.xaxis.set_ticks_position('bottom')
    ax.yaxis.set_ticks_position('left')
    ax.spines['left'].set_position(('data', 0))
    ax.spines['bottom'].set_position(('data', 0))
    

    第一行代码是调整x轴标签位置,后两行代码调整的是坐标轴的位置(此项设置必须放在设置坐标轴刻度之前,否则刻度为中文时会显示为乱码)。
    +效果图

    3.4 添加图例

    plt.plot(x, y, color="red", linestyle="-.", linewidth=5, alpha=0.4, label="产品销量")
    plt.legend(prop=my_font, loc=("upper left"))
    

    绘制时添加label标签,loc设置的是图例显示的位置
    效果图:

    3.5 添加标注

    • annotate注释
    plt.annotate(r'这里是对(第一个点的标注)', xy=(x[0], y[0]), xycoords='data', xytext=(+30, -30),
                 textcoords='offset points', arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2"),
                 fontproperties=my_font)
    

    第一个参数是注释内容,第二个参数是需要注释的坐标点信息,第三个参数是坐标点是基于什么选择,第四个和第五个参数是注释位置设置及相对坐标点的偏移,第六个参数设置的是箭头的信息。

    • text注释
    plt.text(-3.7, 3, r'这里是普通文本注释', fontdict={'size': 16, 'color': 'r'}, fontproperties=my_font)
    

    第一个和第二个参数是设置文本的位置,第三个参数设置的是注释内容,第四个参数设置的是文本的样式。

    • 效果图
    • 绘制网格
    plt.grid(alpha=0.4)
    

    参数设置的是网格的透明度。

    4.其他类型画图

    plot绘制的是折线图,其他类型与之大同小异,只是关键字不同。

    • 散点图
      关键字是scatter,即绘制图形时,将plot替换成scatter。
    • 条形图
      关键字是bar(纵向)以及barh横向。

      绘制横向条形图时xy的数据需要调换,而且为了美观,一般是y的值过大,导致图片过高时,才需要使用。
    • 直方图
      关键字是hist。因为是统计区间内的出现的次数,所以y轴不能为负(不会显示)。
  • 相关阅读:
    SpringBoot-Maven打包压缩瘦身
    Docker安装Jenkins
    Spring Boot 微服务应用集成Prometheus + Grafana 实现监控告警
    Spring Boot构建 RESTful 风格应用
    SpringMVC 中 @ControllerAdvice 注解
    Spring Boot 整合 Freemarker
    Spring Boot中的静态资源文件
    SpringBoot配置文件 application.properties,yaml配置
    代码质量管理-安全问题
    8.Python基础 面向对象的基本概念
  • 原文地址:https://www.cnblogs.com/feilstar/p/12792055.html
Copyright © 2011-2022 走看看