Я ищу, чтобы создать диаграмму, очень похожую на лексическую диаграмму nltk, но я рисую пустоту, как ее построить. Я думал, что разброс будет моей лучшей геомой, используя '|' как маркеры, и настройку альфы, но я сталкиваюсь со всеми проблемами, задающими параметры. Примером этого является ниже:Pandas scatterplot категориальные и временные оси
У меня есть dataframe, расположенный с индексом даты и времени, FREQ = «D», в течение 5 лет, а каждый столбец представляет собой счетчик конкретного слова, используемого, что Дата. Например:
tst = pd.DataFrame(index=pd.date_range(datetime.datetime(2010, 1, 1), end=datetime.datetime(2010, 2, 1), freq='D'), data=[[randint(0, 5), randint(0, 1), randint(0, 2)] for x in range(32)])
В настоящее время я пытаюсь что-то похожее на следующее:
plt.figure()
tst.plot(kind='scatter', x=tst.index, y=tst.columns, marker='|', color=sns.xkcd_rgb['dodger blue'], alpha=.05, legend=False)
yticks = plt.yticks()[0]
plt.yticks(yticks, top_words)
код выше возвращающее исключение KeyError:
KeyError: "['2009-12-31T19:00:00.000000000-0500' '2010-01-01T19:00:00.000000000-0500'\n '2010-01-02T19:00:00.000000000-0500' '2010-01-03T19:00:00.000000000-0500'\n '2010-01-04T19:00:00.000000000-0500' '2010-01-05T19:00:00.000000000-0500'\n '2010-01-06T19:00:00.000000000-0500' '2010-01-07T19:00:00.000000000-0500'\n '2010-01-08T19:00:00.000000000-0500' '2010-01-09T19:00:00.000000000-0500'\n '2010-01-10T19:00:00.000000000-0500' '2010-01-11T19:00:00.000000000-0500'\n '2010-01-12T19:00:00.000000000-0500' '2010-01-13T19:00:00.000000000-0500'\n '2010-01-14T19:00:00.000000000-0500' '2010-01-15T19:00:00.000000000-0500'\n '2010-01-16T19:00:00.000000000-0500' '2010-01-17T19:00:00.000000000-0500'\n '2010-01-18T19:00:00.000000000-0500' '2010-01-19T19:00:00.000000000-0500'\n '2010-01-20T19:00:00.000000000-0500' '2010-01-21T19:00:00.000000000-0500'\n '2010-01-22T19:00:00.000000000-0500' '2010-01-23T19:00:00.000000000-0500'\n '2010-01-24T19:00:00.000000000-0500' '2010-01-25T19:00:00.000000000-0500'\n '2010-01-26T19:00:00.000000000-0500' '2010-01-27T19:00:00.000000000-0500'\n '2010-01-28T19:00:00.000000000-0500' '2010-01-29T19:00:00.000000000-0500'\n '2010-01-30T19:00:00.000000000-0500' '2010-01-31T19:00:00.000000000-0500'] not in index"
Любая помощь будет оценена.
С помощью, я был в состоянии произвести следующие действия:
plt.plot(tst.index, tst, marker='|', color=sns.xkcd_rgb['dodger blue'], alpha=.25, ms=.5, lw=.5)
plt.ylim([-1, 20])
plt.yticks(range(20), top_words)
К сожалению, это только кажется, что верхние стержни будут отображаться, когда есть соответствующий бар должен быть построен на вершине из. Это не то, как выглядят мои данные.
работал почти так же, как ожидалось. Тем не менее, у меня есть немного сдвига на моих топорах. Мой аргумент для 0 образует небольшую полосу внизу, где каждое другое целое число образует линию вверх. Я отправлю результат в свой вопрос. – hyleaus