绘制图并找到最大值

时间:2015-11-21 22:22:46

标签: java python spss

我正在尝试在java中打开内容两列“time and G”的excel文件(也尝试用python)并在G Vs时间之间绘制图形。并找出G在什么时候最大和最大最小。请帮帮我!!!

1 个答案:

答案 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

Result