Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 4

Matplotlib сетка графиков точечных диаграм по двум столбцам

31.03.2021, 01:42. Показов 1682. Ответов 1

Студворк — интернет-сервис помощи студентам
Создаю с помощью matplotlib сетку графиков точечных диаграм по двум столбцам. Не могу понять логику построения цикла. Выходит синтаксическая ошибка. Без цикла получается построение. С циклом ошибка, может подскажете, что не так делаю? Как можно построить с циклом сетку графиков?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
fig, ax = plt.subplots(figsize=(16, 16), ncols=4, nrows=3, sharex=True)
 
 
ax[0][0].scatter(x = gis38['NA_Sales'], y = gis38['Global_Sales'])
ax[0][0].set_xlabel("NA_Sales")
ax[0][0].set_ylabel("Global_Sales")
ax[0][0].set_title('Sports - Nintendo')
 
ax[1][0].scatter(x = gis39['NA_Sales'], y = gis39['Global_Sales'])
ax[1][0].set_xlabel("NA_Sales")
ax[1][0].set_ylabel("Global_Sales")
ax[1][0].set_title('Sports - Take-Two Interactive')
 
ax[2][0].scatter(x = gis40['NA_Sales'], y = gis40['Global_Sales'])
ax[2][0].set_xlabel("NA_Sales")
ax[2][0].set_ylabel("Global_Sales")
ax[2][0].set_title('Sports - Electronic Arts')
 
 
ax[0][3].scatter(x = gis41['NA_Sales'], y = gis41['Global_Sales'])
ax[0][3].set_xlabel("NA_Sales")
ax[0][3].set_ylabel("Global_Sales")
ax[0][3].set_title('Sports - Activision')
 
ax[0][1].scatter(x = gis42['NA_Sales'], y = gis42['Global_Sales'])
ax[0][1].set_xlabel("NA_Sales")
ax[0][1].set_ylabel("Global_Sales")
ax[0][1].set_title('Platform - Nintendo')
 
 
ax[1][1].scatter(x = gis43['NA_Sales'], y = gis43['Global_Sales'])
ax[1][1].set_xlabel("NA_Sales")
ax[1][1].set_ylabel("Global_Sales")
ax[1][1].set_title('Platform - Take-Two Interactive')
 
ax[2][1].scatter(x = gis44['NA_Sales'], y = gis44['Global_Sales'])
ax[2][1].set_xlabel("NA_Sales")
ax[2][1].set_ylabel("Global_Sales")
ax[2][1].set_title('Platform - Electronic Arts')
 
 
ax[1][3].scatter(x = gis45['NA_Sales'], y = gis45['Global_Sales'])
ax[1][3].set_xlabel("NA_Sales")
ax[1][3].set_ylabel("House Price")
ax[1][3].set_title('Platform - Activision')
 
ax[0][2].scatter(x = gis46['NA_Sales'], y = gis46['Global_Sales'])
ax[0][2].set_xlabel("NA_Sales")
ax[0][2].set_ylabel("Global_Sales")
ax[0][2].set_title('Misc - Nintendo')
 
ax[1][2].scatter(x = gis47['NA_Sales'], y = gis47['Global_Sales'])
ax[1][2].set_xlabel("NA_Sales")
ax[1][2].set_ylabel("Global_Sales")
ax[1][2].set_title('Misc - Take-Two Interactive')
 
ax[2][2].scatter(x = gis48['NA_Sales'], y = gis48['Global_Sales'])
ax[2][2].set_xlabel("NA_Sales")
ax[2][2].set_ylabel("Global_Sales")
ax[2][2].set_title('Misc - Electronic Arts')
 
ax[2][3].scatter(x = gis49['NA_Sales'], y = gis49['Global_Sales'])
ax[2][3].set_xlabel("NA_Sales")
ax[2][3].set_ylabel("Global_Sales")
ax[2][3].set_title('Misc - Activision')
 
fig.suptitle("Зависимость общемировых продаж от продаж в Северной Америке для каждой пары (жанр, издатель)",
             y= 0.95)
 
plt.show()

Попытка построить с помощью цикла: синтаксическая ошибка

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fig, axs = plt.subplots(figsize=(16, 16), ncols=4, nrows=3, sharex=True)
 
Genre1 = ['Sports', 'Platform', 'Misc']
Publisher2 = ['Nintendo', 'Take-Two Interactive', 'Electronic Arts', 'Activision']
for i, Genre  in enumerate(Genre1): 
    for j, Publisher in enumerate(Publisher2):
        
        
        data = df[(df['Genre'] == Genre) & (df['Publisher'] == Publisher)['NA_Sales','Global_Sales']
        axs[i][j].scatter(data)
        
        
 
 
plt.show()
Миниатюры
Matplotlib сетка графиков точечных диаграм по двум столбцам   Matplotlib сетка графиков точечных диаграм по двум столбцам  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2021, 01:42
Ответы с готовыми решениями:

Нужна програма для создания трехмерных графиков, диаграм и тп
1) Не могу найти/разобраться в какой проге можно делать трехмерный графы. пример 2d...

Создание точечных 3D графиков
Для создания точечных 2D графиков используется функция plot2d(x,y,d), либо можно сделать plot(X(:,1), X(:,2), 'cya+','marker','o')....

Matplotlib, анимированный график, неравномерная сетка
Добрый день. Для учебного задания потребовалось визуализировать матрицу (использую numpy) построчно, где строка это множество значений...

1
 Аватар для Freeden
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
31.03.2021, 07:50
Лучший ответ Сообщение было отмечено Adell_666 как решение

Решение

Python
1
(df['Publisher'] == Publisher)['NA_Sales','Global_Sales']
заменить на
Python
1
(df['Publisher'] == Publisher['NA_Sales','Global_Sales'])
Добавлено через 18 минут
Хотя в IDE "прошел" вот такой вариант:
Python
1
2
3
    for j, Publisher in enumerate(Publisher2):
        data = df[(df['Genre'] == Genre) & (df['Publisher'] == Publisher)['NA_Sales', 'Global_Sales']]
        axs[i][j].scatter(data)
Но полностью работоспособность не проверила, так как редактор у меня естественно ругается на отсутствие данных 'gis38' и т п
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2021, 07:50
Помогаю со студенческими работами здесь

Построение точечных графиков по точкам из dataGridView
каким образом можно реализовать два точечных графика? точки должны считываться с таблицы dataGridView.

Некорректное построение графиков: matplotlib
Здравствуйте! Почему в matplotlib график (прямые линии) строятся не совсем от заданных координат по оси абцисс? Там какие-то...

Отрисовка графиков библиотекой matplotlib
Категорически приветствую всех форумчан! Проблема следующего характера: пишу на малине программу для обработки данных, данные принимает с...

Выделение пересечений графиков matplotlib
Имеется код, отрисовывающий три трехмерные функции с помехой Возможно ли как то выделить места их пересечений? Чтоб например в этих...

[matplotlib] Разработка программ для построения графиков функции
Разработка программ для построение графиков функции Нужно использовать библbотеку matplotlib


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru