Python:使用pyplot,pandas和matplotlib在x轴上的年或月?

时间:2018-09-17 07:11:25

标签: python python-3.x pandas matplotlib axis

有很多不同的解决方案(大多数都是过时的)来解决matplotlib对象中轴的添加问题,但尚未解决任何问题。我想在x轴上获取日期标签(月或年)。

如何使用Pandas和Matplotlib在Python中的轴上添加日期注释?

MWE

int main() {                                                                                                                                                            
    FILE *fp;                                                                                                                                                            
    unsigned char LR0 [1024] = {};                                                                                                                                          
    fp = fopen("test.txt", "r");                                                                                                                                         
    if (fp == NULL) {                                                                                                                                                                    
        perror("Error while opening the file.\n");                                                                                                                        
        exit(EXIT_FAILURE);                                                                                                                                               
    }

    int i = 0;                                                                                                                                                          
    while(fscanf(fp, "%c,", &LR0[i]) == 1){                                                                                                                                
        printf("%c", LR0[i++]);                                                                                                                                           
    }

    fclose(fp);                                                                                                                                                          
    return 0;                                                                                                                                                            
}

test.csv

import pandas as pd
from matplotlib.pyplot import savefig

a=pd.read_csv("test.csv")
a.pivot(index='date', columns='group').plot()
savefig("plot3.png")

enter image description here

缺少时间注释的地方。

1 个答案:

答案 0 :(得分:2)

评论包含以下解决方案,经过测试证明可以正常工作。

I。将日期列转换为日期时间dtype a['date'] = pd.to_datetime(a['date'])并绘制。

a=pd.read_csv("test.csv")
a['date'] = pd.to_datetime(a['date']) 
a.pivot(index='date', columns='group').plot()

根据需要调整格式,例如

a['date'] = pd.to_datetime(a['date'], format='%Y-%m-%d') 

enter image description here

II。通过a = pd.read_csv("test.csv", parse_dates=[0])

将列日期转换为日期时间
a=pd.read_csv("test.csv", parse_dates=[0]) 
a.pivot(index='date', columns='group').plot()