2017-02-21 17 views
0

Вот мой код:Панды площадь участка оси этикетки

import pandas as pd 
import matplotlib.pyplot as plt 

df = pd.DataFrame({'col_1':[1,2,3], 'col_2': [3,4,5], 
    'date_col': ['2014-12-15','2015-11-07','2016-01-10']}) 
df['date_col'] = pd.to_datetime(df['date_col']).dt.date 
df.plot.area(x = 'date_col', y = ['col_1', 'col_2']) 
plt.show() 

Он производит площадь участка, как задумано, но есть больше х метки оси, то мне нужно. Мне нужно всего 3 ярлыка, как в dataframe. Какие-либо предложения? plot

ответ

1

Добавить xticks на участке перед показом его:

import pandas as pd 
import matplotlib.pyplot as plt 

df = pd.DataFrame({'col_1':[1,2,3], 'col_2': [3,4,5], 
    'date_col': ['2014-12-15','2015-11-07','2016-01-10']}) 
df.plot.area(x = 'date_col', y = ['col_1', 'col_2']) 
plt.xticks(range(len(df.date_col)),df.date_col) 
plt.show() 

Нужный выход:

enter image description here

Я надеюсь, что это помогает.

+0

извините, что не работает, все даты находятся в одном месте, весь участок искажен. – user1700890

+0

Что вы подразумеваете под * все даты в одном месте *? Если даты близки друг к другу, тогда вы, скорее всего, получите ярлыки, которые склеиваются. Из данных, которые вы поделили здесь, я смог получить то, что вы описали, как ваш желаемый результат. – Abdou

+0

, ваш код работает отлично. Я забыл, что у меня также есть следующая строка в моем коде 'df ['date_col'] = pd.to_datetime (df ['date_col']). Dt.date' – user1700890

 Смежные вопросы

  • Нет связанных вопросов^_^