首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个变量在X轴上相对于时间的折线图,这样我就有了开始日期和结束日期

两个变量在X轴上相对于时间的折线图,这样我就有了开始日期和结束日期
EN

Stack Overflow用户
提问于 2018-04-11 13:25:17
回答 1查看 455关注 0票数 1

如何根据X轴上的时间绘制两个变量的折线图,以便在不重叠日期的情况下获得开始日期和结束日期以及两者之间尽可能多的日期(季度)。

这是我在Python中的第一次绘图,我对Python还是个新手。我在stackoverlow上尝试了所有可能的建议,但没有得到我想要的。

我有一个有4列的数据框。我想为某个特定的州选择行,并根据日期绘制Var 1和Var 2的曲线图。日期是10年来的季度数据。

代码语言:javascript
运行
复制
Date            State         Var1      Var2   Var3
0  01-Dec-05  New South Wales  6718023  81.8  5.293757
1  01-Mar-06  New South Wales  6735528  80.8  4.978780
2  01-Jun-06  New South Wales  6742690  82.3  5.288439
3  01-Sep-06  New South Wales  6766133  82.0  5.200780
4  01-Dec-06  New South Wales  6786160  82.7  4.811675
5  01-Mar-07  New South Wales  6815359  81.9  4.957025
6  01-Jun-07  New South Wales  6834156  85.2  4.574077
7  01-Sep-07  New South Wales  6859736  87.3  4.655129
8  01-Dec-07  New South Wales  6883852  89.2  4.647184
9  01-Mar-08  New South Wales  6919907  88.5  4.337943

我在密谋

代码语言:javascript
运行
复制
plt.plot(mydf[mydf['State'] == 'New South Wales']['Date'], mydf[mydf['State'] == 'New South Wales']['variable1'], '--bD', mydf[mdf['State'] == 'New South Wales']['variable2'], '--bD')

我尝试使用np.arrange,plot.xticks(日期的长度,标签,旋转),ticker.MultipleLocator和其他一些东西。我不能让任何东西工作。

此外,我还试图得到一个更大的图来显示所有的日期。也不成功。我希望在开始和结束日期内尽可能多的日期。事实上,月份和年份就足够了,因为我有季度数据。

这张图现在看起来像这样,

simple plot with cluttered dates

如果我添加

代码语言:javascript
运行
复制
plt.xticks(np.arange(0, 39, step=2))

我得到了一个很好的图表,但结束日期不正确。

plot with step size

将非常感谢任何帮助我这一点的建议。

编辑:我根据建议对我的数据框架进行了索引。日期和州列一起形成了数据帧的索引,因为每个州的日期都是重复的。

我使用以下命令再次绘制

代码语言:javascript
运行
复制
plt.plot(df4[df4['State'] == 'New South Wales']['Var1'], '--bD', df4[df4['State'] == 'New South Wales']['Var2'], '--rD')

但是现在x轴是一个索引而不是日期。

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2018-04-11 13:52:02

对于简单的2D绘图,请尝试以下命令

代码语言:javascript
运行
复制
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_excel('/home/mrki/np.xls')
df.set_index('Date', inplace=True)

plt.plot(df['var1'],'r--')
plt.show()

将日期设置为索引是很重要的,您可以添加更多变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49767116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档