zoukankan      html  css  js  c++  java
  • 使用python画2D线条

    """用于验证整体趋势正确性,不做关闭操作时保持显示"""
    #!python3
    #-*- coding:utf-8 -*-
    import matplotlib.pyplot as plt
    from pylab import *#中文显示
    import xlrd
    """----------------------------得到支撑数据---------------------------"""
    mpl.rcParams['font.sans-serif'] = ['SimHei']#figure字体设定,正常显示中文
    mpl.rcParams['axes.unicode_minus']=False#figure符号设定,正常显示负数
    zhfont = matplotlib.font_manager.FontProperties(fname="C:WindowsFontssimsun.ttc")#图示字体设置
    
    data_x = []
    data_y = []
    data_z = []
    
    x_max = 0
    x_min = 0
    y_max = 0
    y_min = 0
    
    data = xlrd.open_workbook("点集.xlsx")#打开excel
    table = data.sheet_by_name("Sheet1")#获取名称为Sheet1的表
    
    nrows = table.nrows#获取行数
    ncols = table.ncols#获取列数
    
    for i in range(1,nrows):
        data_x.append(table.cell(i,0).value)#逐行读取第一列值,并存至data_x数组中
        data_y.append(table.cell(i,1).value)#逐行读取第二列值,并存至data_y数组中
        data_z.append(table.cell(i,2).value)#逐行读取第三列值,并存至data_z数组中
    
    if max(data_y) >= max(data_z):
        y_max = max(data_y)
    else:
        y_max = max(data_z)
    
    if min(data_y) <= min(data_z):
        y_min = min(data_y)
    else:
        y_min = min(data_z)
    
    x_max = max(data_x)
    x_min = min(data_x)
    
    """----------------------------实际处理操作--------------------------"""
    
    plt.figure(figsize=(8,4))#创建绘制窗口
    plt.plot(data_x,data_y,"r.-",label="处理曲线",linewidth=1)#处理曲线
    plt.plot(data_x,data_z,"g.-",label="理论曲线",linewidth=1)#理论曲线
    plt.xlabel("时间(ms)")
    plt.ylabel("高度(m)")
    plt.title("趋势比对图")
    plt.xlim(x_min,x_max)
    plt.ylim(y_min,y_max)
    plt.xticks()
    plt.legend(prop = zhfont)#图示
    plt.show()
  • 相关阅读:
    微信小程序@bindgetuserinfo @bindgetphonenumber
    报错总结
    前端面试题
    关于vue ssr next服务端渲染
    【012】JavaSE面试题(十二):多线程(2)
    【011】JavaSE面试题(十一):多线程(1)
    [010]
    [009]
    [008]
    添加Lombok插件后调用Setter或Getter方法IDEA编译错误
  • 原文地址:https://www.cnblogs.com/Gogo-ouchen/p/7999747.html
Copyright © 2011-2022 走看看