python-2.7 – 使用来自文件的数据绘制日期和时间(x轴)与值(y轴)
发布时间:2020-12-20 12:21:51 所属栏目:Python 来源:网络整理
导读:我有一个文件(.dat)格式的数据 %dd %mm %yyyy %HH %MM %SS value 由空格分隔.我想在x轴上绘制日,月,年和时间,在y轴上绘制值.应始终从文件中读取它,因为我有许多非常大的文件要分析. 我的最新尝试: import numpy as npimport matplotlib.pyplot as pltimport
我有一个文件(.dat)格式的数据
由空格分隔.我想在x轴上绘制日,月,年和时间,在y轴上绘制值.应始终从文件中读取它,因为我有许多非常大的文件要分析. 我的最新尝试: import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates from time import gmtime,strftime date,time,level = np.loadtxt('my_file.txt',unpack=True,usecols = (0,1,2,3),converters={ 0,1: mdates.strpdate2num('%dd/%mm/%YY %HH:%MM')}) #read format of file # then to plot plt.plot_date(x=date,y=level,fmt='%dd/%mm/%YY %HH:%MM') # fmt is changed from r- plt.title('title') plt.ylabel('Waterlevel (m)') plt.grid(True) plt.show() 解决方法
如果我已正确理解您的问题,我相信这是一个可能的解决方案:
import matplotlib.pyplot as plt import matplotlib.dates as mdates from datetime import datetime import numpy as np # Converter function datefunc = lambda x: mdates.date2num(datetime.strptime(x,'%d %m %Y %H %M %S')) # Read data from 'file.dat' dates,levels = np.genfromtxt('file.dat',# Data to be read delimiter=19,# First column is 19 characters wide converters={0: datefunc},# Formatting of column 0 dtype=float,# All values are floats unpack=True) # Unpack to several variables fig = plt.figure() ax = fig.add_subplot(111) # Configure x-ticks ax.set_xticks(dates) # Tickmark + label at every plotted point ax.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m/%Y %H:%M')) ax.plot_date(dates,levels,ls='-',marker='o') ax.set_title('title') ax.set_ylabel('Waterlevel (m)') ax.grid(True) # Format the x-axis for dates (label formatting,rotation) fig.autofmt_xdate(rotation=45) fig.tight_layout() fig.show() 使用file.dat例如 01 06 2013 00 00 00 24.23 02 06 2013 01 00 00 22.23 03 06 2013 02 00 00 21.43 04 06 2013 03 00 00 24.32 04 06 2013 14 30 00 23.42 06 06 2013 03 00 00 24.32 07 06 2013 19 20 00 23.54 08 06 2013 03 00 00 26.23 08 06 2013 19 00 00 24.43 10 06 2013 12 40 00 23.22 输出变成这样: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读