在matplotlib中在绘图轴上显示日期

2024-03-28 20:00:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题。我想在matplotlib中绘制一个图形。x轴包含日期和y轴高度,单位为see标高以上的米。从我的readin方法我得到。在

小名单=[368.23000000000002368.12,368.12,368.2099999999999999999998,368.3500000000002,368.16000000000003367.9800000000002367.9800000000002367.9800000000002367.9800000000002367.83999999999999367,367.639999999999,367.6399999999999999,367.850000000000999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999599999999998,367.7.7900000000000002367.6700000000002367.81999999999999,367.91000000000003367.81999999999999,367.819999999999,367.819999999999,367.7.74000000000000001367.769999999999999999367.767676999999999999367.8500000000002367.8899999999999999,367.76769999999999999999的367.7676769999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.94999999999999,367.94999999999、367.87367.91000000000003]

此列表在逗号后应有两位数字。在

现在我使用了一个方法将类似“23.05.2012”的字符串转换为日期。在

def stringtodate(array):

i = 1
end = len(array)

date_format = []

while i <= end:

    string_date = str(array[i-1])

    time_tuple = datetime.strptime(string_date, "%d.%m.%Y")

    date_format.append(time_tuple)

    i = i+1

return date_format

它会返回这样一个列表:

年表=[日期时间。日期时间(1975,7,22,0,0),日期时间。日期时间(1976,11,9,0,0),日期时间。日期时间(1977年9月23日0 0日),日期时间。日期时间(1978,7,31,0,0),日期时间。日期时间(1979,7,31,0,0),日期时间。日期时间(1980,9,4,0,0),日期时间。日期时间(1981年8月27日0 0日),日期时间。日期时间(1982,7,22,0,0),日期时间。日期时间(1983年9月16日,0,0),日期时间。日期时间(1984年8月31日0 0日),日期时间。日期时间(1985年9月27日0 0日),日期时间。日期时间(1986,9,8,0,0),日期时间。日期时间(1987,8,4,0,0),日期时间。日期时间(1988,8,4,0,0),日期时间。日期时间(1989年7月18日0 0日),日期时间。日期时间(1990,7,18,0,0),日期时间。日期时间(1991,7,31,0,0),日期时间。日期时间(1992年7月22日0 0日),日期时间。日期时间(1993,8,25,0,0),日期时间。日期时间(1994,8,17,0,0),日期时间。日期时间(1995,7,25,0,0),日期时间。日期时间(1996年8月8日),日期时间。日期时间(1997,8,7,0,0),日期时间。日期时间(1998,8,24,0,0),日期时间。日期时间(2000,5,31,0,0),日期时间。日期时间(2001年8月29日0 0日),日期时间。日期时间(2002,8,30,0,0),日期时间。日期时间(2003,9,18,0,0),日期时间。日期时间(2004年10月19日0 0日),日期时间。日期时间(2005年7月7日0 0日),日期时间(2006年5月16日0 0日),日期时间。日期时间(2007年9月19日0 0日),日期时间。日期时间(2008年5月13日0 0日),日期时间。日期时间(2009年11月24日0 0日),日期时间。日期时间(2010,10,18,0,0),日期时间。日期时间(2011年5月3日0 0日),日期时间。日期时间(2013年1月8日0 0日),日期时间。日期时间(2013年11月19日0 0日),日期时间。日期时间(2014年8月27日0 0日),日期时间。日期时间(2014年12月1日0 0日)

现在我想用matplotlib绘制这两个列表。我的代码是:

^{pr2}$

现在的问题是x轴没有显示日期。我一个人找不到我的错误,请帮帮我。在

我希望我给你提供了足够的信息来帮助我解决这个问题。在

你好


Tags: 方法format图形列表datestring高度time
1条回答
网友
1楼 · 发布于 2024-03-28 20:00:38

好的,所以我在绘图程序中转换了日期。我有一个直接从csv文件中提取日期的系列,所以日期最初看起来像2014年10月2日。我给这个系列命名了日期。我的代码如下:

date = data['Date'] # data is just the variable I am using to hold the csv file. 
# The above line is just pulling the date column into it's own variable.

x1 = [dt.datetime.strptime(d, '%m/%d/%Y').date() for d in date]

您必须在导入日期行中添加此日期行。然后,当您使用plot命令时,将其设置为:

^{pr2}$

这样可以正确标记x轴,而不需要plt.xticks公司(年鉴),但如果你可以尝试一下,有没有。在

相关问题 更多 >