Базовая Диаграмма Рассеяния Matplotlib Из Фрейма Данных Pandas

как сделать базовую диаграмму рассеяния столбца в фрейме данных против индекса этого фрейма данных? Im с использованием python 2.7.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

dataframe['Col'].plot()
plt.show()

это показывает линейную диаграмму "Col", построенную против значений в моем индексе фрейма данных (даты в этом случае).

но как построить диаграмму рассеяния, а не линейную диаграмму?

пробовал

plt.scatter(dataframe['Col'])
plt.show()

но scatter() требует 2 аргумента. Итак, как мне пройти серию dataframe['Col'] и мой индекс фрейма данных в scatter() ?

Я для этого пробовал

plt.scatter(dataframe.index.values, dataframe['Col'])
plt.show()

но диаграмма пуста.

2 ответов


странно. Это должно сработать.

запуск этого

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame({'Col': np.random.uniform(size=1000)})
plt.scatter(dataframe.index, dataframe['Col'])

выплевывает что-то вроде этого

enter image description here

может быть quit() и запустить новый сеанс?


Если вы просто хотите перейти от линий к точкам (и не очень хотите / нужно использовать matplotlib.скаттер) вы можете просто установить стиль:

In [6]: df=  pd.DataFrame({'Col': np.random.uniform(size=1000)})

In [7]: df['Col'].plot(style='.')
Out[7]: <matplotlib.axes.AxesSubplot at 0x4c3bb10>

scatter_example

см. документы таблицы данных.земельный участок и в целом построение документации.