我正在尝试在java中打开内容两列“time and G”的excel文件(也尝试用python)并在G Vs时间之间绘制图形。并找出G在什么时候最大和最大最小。请帮帮我!!!
答案 0 :(得分:0)
您似乎没有太多的编程经验,所以我尝试创建一个小例子。你说你想从excel获取数据,因为我不知道如何在python中读取excel我假设你可以为你的值创建一个csv文件。
import matplotlib
import matplotlib.pyplot as plt
from datetime import datetime
with open("pathtoyourfiel/data.csv") as f:
#read file to a list of lines
content = f.readlines()
#split each line at ","
data = [line.split(",") for line in content]
#convert date string to datetime (assuming format is correct)
dateStrings = [datetime.strptime(d[0], "%d %b %Y") for d in data]
#convert datetime to matplotlib.date
dates = matplotlib.dates.date2num(dateStrings)
#extract G value from split list, cast to int
g = [int(d[1]) for d in data]
#get max and min
maxValue = max(g)
minValue = min(g)
#get the date at the index of max/min
maxDate = dateStrings[g.index(maxValue)]
minDate = dateStrings[g.index(minValue)]
#set formatter for the date on the x axis
plt.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%m/%d/%Y'))
plt.plot(dates, g)
plt.show()
我的数据如下所示:
2015年6月15日,141
2015年7月24日,1
2015年10月30日5
。