разброс панд, временные данные и размер точки - PullRequest
0 голосов
/ 05 июня 2018

Мой DataFrame выглядит так:

enter image description here

Я строю его по этому коду:

tmp['event_name'].plot(style='.', figsize=(20,10), grid=True)

Результаты выглядят так: enter image description here

Я хочу изменить размер точек (используя данные столбца).Вопрос: как я могу это сделать?График не имеет размера аргумента, и я не могу использовать plot.scatter (), потому что я не могу использовать формат времени для оси x.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

DataFrame.plot передает любые неизвестные ключевые слова до Matplotlib.Artist, как указано в связанных документах.Таким образом, вы можете указать размер маркера, используя общий синтаксис matplotlib ms:

tmp['event_name'].plot(style='.', figsize=(20,10), grid=True, ms=5)

Тем не менее, вы можете использовать plt.scatter также с отметками времени, что делает использование столбца «детали» какразмер маркера более прямой:

import matplotlib.pyplot as plt
import pandas as pd
data = {'time':       ['2015-01-01', '2015-01-02', '2015-01-03', '2015-01-04'],
        'event_name': [2, 2, 2, 2],
        'details':    [46, 16, 1, 7]}
df = pd.DataFrame(data)
dates = [pd.to_datetime(date) for date in df.time]
plt.scatter(dates, df.event_name, s=df.details)
plt.show()
0 голосов
/ 05 июня 2018

Вы можете попробовать так:

for index, i in enumerate(df['details']):
    plt.plot(df.index[index], df.iloc[index]['event_name'], marker='.', linestyle='None', markersize=i*4, color='b')
plt.show()

Пример:

import matplotlib.pyplot as plt
import pandas as pd
df = {'time': ['2015-01-01','2015-01-02','2015-01-03', '2015-01-04', '2015-01-05'],'event_name': [2,2,2,2,2], 'details':[46,16,1,7,4]}
df = pd.DataFrame(data=df)
df['time'] = pd.to_datetime(df['time'], format='%Y-%m-%d')
df = df.set_index('time')

df:

                details  event_name
time                           
2015-01-01       46           2
2015-01-02       16           2
2015-01-03        1           2
2015-01-04        7           2
2015-01-05        4           2

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...