Matplotlib 数据处理

Matplotlib (MATLAB_Python) 数据处理

Matplotlib基本要点

可以画的图像(https://matplotlib.org/stable/gallery/index)

使用流程:

  1. 明确问题
  2. 选择图形的呈现方式
  3. 准备数据
  4. 绘图和图形完善
绘制例子(交互):
  1. 百度Echarts
  2. plotly:可视化工具中的github,同时兼容matplotlib和pands https://plot.ly/python/

1. 绘制折线图

  1. 设置图片大小

  2. 保存到本地

  3. 调整间距

    # 使用as可以让调用函数的时候更简单
    from matplotlib import pyplot as plt
    
    """
    figure:指我们画的图(设置图片大小
    dpi: 让图片更加清晰(清晰程度)
    """
    fig = plt.figure(figsize=(20,8), dpi=80)
    
    # 数据在x轴的位置,是一个可迭代对象
    x = range(2, 26, 2)
    # 数据在y轴的位置, 是一个可迭代对象
    y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]
    # 通过传入x和y,通过plot绘制出折线图
    plt.plot(x, y)
    # 在执行程序的时候展示图形
    
    """
    设置x轴的刻度(y轴是一样的:yticks):y轴range(min(y), max(y)+1)
    可以使用range函数改变步长
    如果有步长为小数,可以使用列表推导式
    可以用列表取步长的操作[start:stop:step]改变步长
    如果不想让他显示x轴刻度,不传就可以了
    """
    _xtick_labels = [i/2 for i in range(2, 49)]
    plt.xticks(_xtick_labels[::3])
    
    """
    保存图片(先生成图片后保存)
    可以保存为.swg这种矢量图格式,放大不会有锯齿
    括号内是保存图片的名称
    """
    plt.savefig("./t1.png")
    plt.show()
    
  4. 描述信息

  5. 线条样式(颜色代码:https://www.codeeeee.com/color/rgb.html

  6. 标记出特殊的点

  7. 添加水印

    import random
    from matplotlib import pyplot as plt
    import matplotlib
    from matplotlib import font_manager
    
    """
    如何设置中文,import matplotlib
    使用matplotlib.rc + (Command + B)去到源码,改font就可以
    option + Command + L 快速调整格式
    """
    # 这种方式Mac无效,Linux和windows可以
    # font = {'family': 'MicroSoft Yahei',
    #         'weight': 'bold',
    #         'size': 'larger'}
    # matplotlib.rc("font", **font)
    # matplotlib.rc("font", family='MicroSoft Yahei', weight='bold', size='larger')
    
    # Mac设置中文的方法, 使用fc-list :lang=zh找到地址
    # from matplotlib import font_manager
    # fname是地址
    my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
    
    x = range(0, 120)
    y = [random.randint(20, 35) for i in range(120)]
    
    fig = plt.figure(figsize=(20, 8), dpi=80)
    
    # 调整x轴的刻度,显示小时:分钟
    _x = list(x)
    _xtick_labels = ["10:{}".format(i) for i in range(60)]
    _xtick_labels += ["11:{}".format(i) for i in range(60)]
    
    # 调整坐标轴刻度的两个参数的步长需要一一对应,格式也要
    # rotation是旋转的度数(逆时针转)
    # 需要解决中文为什么不显示的问题
    plt.xticks(_x[::6], _xtick_labels[::6], rotation=45, fontproperties=my_font)
    
    # 添加描述信息
    plt.xlabel("时间", fontproperties=my_font)
    plt.ylabel("温度", fontproperties=my_font, rotation=90)
    plt.title("10点到12点每分钟的气温变化情况", fontproperties=my_font)
    
    """
    绘制网格
    alpha透明度
    """
    plt.grid(alpha=0.05)
    
    # 添加水印的第一种方式
    plt.text(0.5, 0.5, 'Watermark', fontsize=40, color='gray', alpha=0.5, ha='center', va='center', rotation=30,
             transform=plt.gcf().transFigure)
    
    # 添加水印的第二种方式
    # 需要忽略前面的fig = plt.figure(...)
    # fig, ax = plt.subplots(figsize=(20, 8), dpi=80)
    # ax.plot(x, y)
    # ax.text(0.5, 0.5, 'Watermark', fontsize=40, color='gray', alpha=0.5, ha='center', va='center', rotation=30,
    #         transform=ax.transAxes)
    
    # 设置图像颜色和线条样式
    plt.plot(x, y, label="练习", color="cyan", linestyle="-.")
    
    # 标记特殊点
    # 在特殊点标记红色圆圈
    special_points_x = [2, 4]
    special_points_y = [20, 30]
    plt.scatter(special_points_x, special_points_y, color=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值