График матплотлиб - PullRequest
       2

График матплотлиб

0 голосов
/ 25 декабря 2018

Я работаю над своим первым проектом больших данных для моего университета.Вот мой набор данных: https://www.kaggle.com/carolzhangdc/imdb-5000-movie-dataset

В этой части я хотел бы:

  • Взять только 20 лучших переменных этого конкретного столбца (IMDB Score and Gross)
  • Постройте все, чтобы увидеть график.

С помощью этого кода я могу видеть график, как показано graph

Top20 = newmovieDef[['IMDB Score', 'Gross']].sort_values('IMDB Score', ascending=False).nlargest(20, 'IMDB Score')
newmovieDef[['IMDB Score', 'Gross']].sort_values('IMDB Score', ascending=False).nlargest(20, 'IMDB Score')
#visualizing top 20 in plot
plt.figure(figsize=(7,7))
x = Top20["IMDB Score"]
y = Top20["Gross"]
plt.bar(x, y, color="purple")
plt.show()

Ноесли тогда я напишу это:

#GROSS-DURATION ---PROBLEMA GRAFICO
Top20 = newmovieDef[['Gross', 'Duration']].sort_values('Gross', ascending=False).nlargest(20, 'Gross')
newmovieDef[['Gross', 'Duration']].sort_values('Gross', ascending=False).nlargest(20, 'Gross')
#visualizing top 20 in plot
plt.figure(figsize=(7,7))
x = Top20["Gross"]
y = Top20["Duration"]
plt.bar(x, y, color="green")
plt.show()

, это даст мне пустой график, как в empty graph

1 Ответ

0 голосов
/ 25 декабря 2018

Gross и Duration являются непрерывными переменными, поэтому график бар с Gross на оси X и Duration на оси YX не является правильным выбором для визуализации.Чтобы увидеть взаимосвязь между двумя непрерывными переменными (в данном случае Gross и Duration), обычно используется график scatter (XY) .

Из этого источника , «Гистограммы используются для сравнения различных групп или отслеживания изменений во времени».Ключевое слово здесь - groups , что означает дискретные переменные (обычно представленные в виде строк в Python).

Из того же источника "XY-графики используются для определения отношений между двумя разными вещами. Ось X используется для измерения одного события (или переменной), а ось Y используется для измерения другого«.

Вы можете изменить свой код так, чтобы он отображал точечную (XY) диаграмму следующим образом:

plt.figure(figsize=(7,7))
x = Top20["Gross"]
y = Top20["Duration"]
# Scatter plot
plt.plot(x, y, color="green")
plt.show()

Если вы действительно хотите гистограмму, то я бы предложил скомпоновать ваши непрерывные данные.Это разбивает непрерывную переменную на отдельные группы, которые затем могут быть показаны на гистограмме, хотя это все еще не лучший выбор для визуализации.

Эта книга является исключительным (бесплатным) ресурсом для визуализации данных.Он написан на языке программирования R, но общие принципы все еще применяются.

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