Совмещаем 2 круговых диаграммы в EXCEL
Пусть необходимо разместить в MS EXCEL две круговые диаграммы в одной (см. файл примера ):

Исходная таблица содержит данные о продажах и прибыли для 4 филиалов.

Алгоритм создания диаграмм следующий:
- Выделите данные для первой диаграммы ( Продажи , ячейки A1:B5 );
- Постройте круговую диаграмму через меню Вставка/ Диаграммы/ Круговая ;
- Постройте вторую круговую диаграмму: для этого добавьте еще один ряд через меню Работа с диаграммами/ Конструктор/ Данные/ Выбрать данные ;


Теперь измените параметры ряда “ Продажи ”:
- Выделите диаграмму;
- в появившемся меню Работа с Диаграммами/ Макет в группе Текущий фрагмент в выпадающем списке Элементы диаграммы выберите ряд «Продажи»;
- Нажав кнопку меню Формат выделенного фрагмента, параметр ряда Построить ряд установить – по вспомогательной оси , а параметр Разрезанная круговая диаграмма установить, например 60%.

- Диаграмма примет следующий вид

- Теперь, выделяя сектора по отдельности, перетащите их в центр диаграммы;
- С помощью меню Работа с диаграммами/ Формат/ Стили фигур можно изменить формат секторов.

И добиться нужного результата.

СОВЕТ : Для начинающих пользователей EXCEL советуем прочитать статью Основы построения диаграмм в MS EXCEL , в которой рассказывается о базовых настройках диаграмм, а также статью об основных типах диаграмм . О совмещении различных типов диаграмм читайте статью Совмещаем разные типы диаграмм в MS EXCEL
Как сделать две круговые диаграммы в одной рамке
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Matplotlib. Урок 4.3. Визуализация данных. Столбчатые и круговые диаграммы
![]()
В этому уроке изучим особенности работы со столбчатой и круговой диаграммами.
- Столбчатые диаграммы
- Групповые столбчатые диаграммы
- Диаграмма с errorbar элементом
- Классическая круговая диаграмма
- Вложенные круговые диаграммы
- Круговая диаграмма в виде бублика
Столбчатые диаграммы
Для визуализации категориальных данных хорошо подходят столбчатые диаграммы. Для их построения используются функции:
bar() – для построения вертикальной диаграммы
barh() – для построения горизонтальной диаграммы.
Построим простую диаграмму:
np.random.seed(123) groups = [f"P" for i in range(7)] counts = np.random.randint(3, 10, len(groups)) plt.bar(groups, counts)

Если заменим bar() на barh() получим горизонтальную диаграмму:

Рассмотрим более подробно параметры функции bar() :
- x : набор величин
- x координаты столбцов
- Высоты столбцов
- Ширина столбцов
- y координата базы
- Выравнивание по координате x .
- color : скалярная величина, массив или optional
- Цвет столбцов диаграммы
- Цвет границы столбцов
- Ширина границы
- Метки для столбца
- Величина ошибки для графика. Выставленное значение удаляется/прибавляется к верхней (правой – для горизонтального графика) границе. Может принимать следующие значения:
- скаляр: симметрично +/- для всех баров
- shape(N,) : симметрично +/- для каждого бара
- shape(2,N) : выборочного – и + для каждого бара. Первая строка содержит нижние значения ошибок, вторая строка – верхние.
- None : не отображать значения ошибок. Это значение используется по умолчанию.
- Цвет линии ошибки.
- Включение логарифмического масштаба для оси y
- Ориентация: вертикальная или горизонтальная.
Построим более сложный пример, демонстрирующий работу с параметрами:
import matplotlib.colors as mcolors bc = mcolors.BASE_COLORS np.random.seed(123) groups = [f"P" for i in range(7)] counts = np.random.randint(0, len(bc), len(groups)) width = counts*0.1 colors = [["r", "b", "g"][int(np.random.randint(0, 3, 1))] for _ in counts] plt.bar(groups, counts, width=width, alpha=0.6, bottom=2, color=colors, edgecolor="k", linewidth=2)

Групповые столбчатые диаграммы
Используя определенным образом подготовленные данные можно строить групповые диаграммы:
cat_par = [f"P" for i in range(5)] g1 = [10, 21, 34, 12, 27] g2 = [17, 15, 25, 21, 26] width = 0.3 x = np.arange(len(cat_par)) fig, ax = plt.subplots() rects1 = ax.bar(x - width/2, g1, width, label='g1') rects2 = ax.bar(x + width/2, g2, width, label='g2') ax.set_title('Пример групповой диаграммы') ax.set_xticks(x) ax.set_xticklabels(cat_par) ax.legend()
Диаграмма с errorbar элементом
Errorbar элемент позволяет задать величину ошибки для каждого элемента графика. Для этого используются параметры xerr , yerr и ecolor (для задания цвета):
np.random.seed(123) rnd = np.random.randint cat_par = [f"P" for i in range(5)] g1 = [10, 21, 34, 12, 27] error = np.array([[rnd(2,7),rnd(2,7)] for _ in range(len(cat_par))]).T fig, axs = plt.subplots(1, 2, figsize=(10, 5)) axs[0].bar(cat_par, g1, yerr=5, ecolor="r", alpha=0.5, edgecolor="b", linewidth=2) axs[1].bar(cat_par, g1, yerr=error, ecolor="r", alpha=0.5, edgecolor="b", linewidth=2)

Круговые диаграммы
Классическая круговая диаграмма
Круговые диаграммы – это наглядный способ показать доли компонент в наборе. Они идеально подходят для отчетов, презентаций и т.п. Для построения круговых диаграмм в Matplotlib используется функция pie() .
Пример построения диаграммы:
vals = [24, 17, 53, 21, 35] labels = ["Ford", "Toyota", "BMV", "AUDI", "Jaguar"] fig, ax = plt.subplots() ax.pie(vals, labels=labels) ax.axis("equal")
Рассмотрим параметры функции pie() :
- x: массив
- Массив с размерами долей.
- Если параметр не равен None , то часть долей, который перечислены в передаваемом значении будут вынесены из диаграммы на заданное расстояние, пример диаграммы:

- labels: list, optional , значение по умолчанию: None
- Текстовые метки долей.
- Цвета долей.
- Формат текстовой метки внутри доли, текст – это численное значение показателя, связанного с конкретной долей.
- Расстояние между центром каждой доли и началом текстовой метки, которая определяется параметром autopct .
- Отображение тени для диаграммы.
- Расстояние, на котором будут отображены текстовые метки долей. Если параметр равен None , то метки не будет отображены.
- Задает угол, на который нужно повернуть диаграмму против часовой стрелке относительно оси x .
- Величина радиуса диаграммы.
- Определяет направление вращения – по часовой или против часовой стрелки.
- Словарь параметров, определяющих внешний вид долей.
- Словарь параметров определяющих внешний вид текстовых меток.
- Центр диаграммы.
- Если параметр равен True , то вокруг диаграммы будет отображена рамка.
- Если параметр равен True , то текстовые метки будут повернуты на угол.
Создадим пример, в котором продемонстрируем работу с параметрами функции pie() :
vals = [24, 17, 53, 21, 35] labels = ["Ford", "Toyota", "BMV", "AUDI", "Jaguar"] explode = (0.1, 0, 0.15, 0, 0) fig, ax = plt.subplots() ax.pie(vals, labels=labels, autopct='%1.1f%%', shadow=True, explode=explode, wedgeprops=, rotatelabels=True) ax.axis("equal")
Вложенные круговые диаграммы
Рассмотрим пример построения вложенной круговой диаграммы. Такая диаграмма состоит из двух компонент: внутренняя ее часть является детальным представлением информации, а внешняя – суммарную по заданным областям. Каждая область представляет собой список численных значений, вместе они образуют общий набор данных. Рассмотрим на примере:
fig, ax = plt.subplots() offset=0.4 data = np.array([[5, 10, 7], [8, 15, 5], [11, 9, 7]]) cmap = plt.get_cmap("tab20b") b_colors = cmap(np.array([0, 8, 12])) sm_colors = cmap(np.array([1, 2, 3, 9, 10, 11, 13, 14, 15])) ax.pie(data.sum(axis=1), radius=1, colors=b_colors, wedgeprops=dict(width=offset, edgecolor='w')) ax.pie(data.flatten(), radius=1-offset, colors=sm_colors, wedgeprops=dict(width=offset, edgecolor='w'))
Круговая диаграмма в виде бублика
Построим круговую диаграмму в виде бублика (с отверстием посередине). Это можно сделать через параметр wedgeprops , который отвечает за внешний вид долей:
vals = [24, 17, 53, 21, 35] labels = ["Ford", "Toyota", "BMV", "AUDI", "Jaguar"] fig, ax = plt.subplots() ax.pie(vals, labels=labels, wedgeprops=dict(width=0.5))

P.S.
Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
Matplotlib. Урок 4.3. Визуализация данных. Столбчатые и круговые диаграммы : 1 комментарий
- Михаил 22.11.2023 Хорошие уроки, но было бы интереснее, если бы примеры запускались.
Изменение формата подписей данных в диаграмме
Excel для Microsoft 365 Word для Microsoft 365 Outlook для Microsoft 365 PowerPoint для Microsoft 365 Excel для Microsoft 365 для Mac Word для Microsoft 365 для Mac PowerPoint для Microsoft 365 для Mac Excel для Интернета Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Excel 2021 для Mac Word 2021 для Mac PowerPoint 2021 для Mac Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Excel 2019 для Mac Word 2019 для Mac PowerPoint 2019 для Mac Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Excel 2016 для Mac Word 2016 для Mac PowerPoint 2016 для Mac Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Excel 2010 Word 2010 Outlook 2010 PowerPoint 2010 Excel 2007 Word 2007 Excel Starter 2010 Word Starter 2010 Еще. Меньше
Подписи данных, содержащие сведения о рядах или отдельных точках данных, упрощают понимание диаграммы. Так, без меток данных на приведенной ниже круговой диаграмме было бы не совсем понятно, что объем продаж кофе составляет 38 % от общего объема продаж. Метки данных можно форматировать, чтобы отобразить специфические элементы, например процентные значения, имена рядов или категорий.


Существует множество параметров форматирования меток данных. Вы можете добавить линии выноски, настроить форму метки, а также изменить ее размер. Все нужные для этого команды содержатся в области задач Формат меток данных. Чтобы перейти в нее, добавьте метки данных, а затем выделите метку, которую требуется отформатировать, и выберите Элементы диаграммы > Метки данных > Дополнительные параметры.
Чтобы перейти в соответствующий раздел, щелкните один из четырех значков, показанных ниже (Заливка и границы, Эффекты, Размер и свойства (Макет и свойства в Outlook или Word) или Параметры подписи).

Совет: Убедитесь, что выбрана только одна метка данных. Чтобы быстро применить пользовательское форматирование к другим точкам ряда данных, выберите пункты Параметры подписи > Метка рядов данных > Создать копию текущей метки.
Ниже приведены пошаговые инструкции по выполнению некоторых наиболее распространенных действий. Если вы хотите узнать больше о заголовках в метках данных, см. статью Изменение названий и меток данных на диаграмме.
Соединение подписей данных с точками данных с помощью линий выноски
Линия выноски — это линия, которая соединяет подпись данных с соответствующей точкой данных и используется при размещении подписи данных за пределами точки данных. Чтобы добавить линию выноски на диаграмму, щелкните подпись и, когда появится четырехсторонняя стрелка, перетащите ее. При перемещении подписи данных линия выноски автоматически перемещается вслед за ней. В более ранних версиях эта функция была только на круговой диаграмме— теперь она есть у всех типов диаграмм с меткой данных.
Изменение вида линий выноски
- Выделите соединительные линии, которые требуется изменить.
- Выберите пункт Заливка и границы >Линия, а затем внесите необходимые изменения.
Изменение вида подписей данных
Придать новый вид подписям данных можно по-разному, например можно изменить цвет границы подписи, чтобы выделить ее.
- Выделите подписи данных, границы которых требуется изменить. Чтобы изменить границу только одной подписи данных, щелкните ее дважды.
- Выберите пункт Заливка и границы >Граница, а затем внесите необходимые изменения.
Совет: С помощью эффектов можно сделать подпись действительно оригинальной. Для этого откройте вкладку Эффекты и выберите нужный эффект. Только смотрите не перестарайтесь.
Изменение формы подписей данных
Чтобы придать диаграмме нужный вид, можно создать подписи данных практически любой формы.
- Щелкните правой кнопкой мыши подпись данных, которую требуется изменить, а затем выберите команду Изменить формы меток данных.
- Выберите нужную фигуру.
Изменение размера подписей данных
Щелкните подпись данных и растяните ее границы до необходимого размера.
Совет: Вы можете настроить другие параметры размера (в Excel и PowerPoint) и выравнивания на вкладке Размер и свойства (Макет и свойства в Outlook или Word). Для этого дважды щелкните подпись данных и выберите Размер и свойства.
Добавление поля к подписи данных
К подписи данных можно добавить встроенное поле диаграммы, например имя ряда или категории. Но гораздо полезнее добавить ссылку на ячейку с пояснительным текстом или вычисляемым значением.
- Щелкните подпись данных правой кнопкой мыши и выберите команду Вставить поле метки данных. Если выделен весь ряд данных, эта команда будет отсутствовать. Убедитесь, что выбрана только одна метка данных.
- Выберите поле, которое вы хотите добавить к подписи данных.
- Чтобы связать подпись данных с ссылкой на ячейку, щелкните [Ячейка] Выберите ячейку, а затем введите ссылку на ячейку.
Совет: Чтобы вернуть стандартную подпись данных, в группе Параметры подписи нажмите кнопку Сброс.
- Чтобы отформатировать метки данных, выделите диаграмму и на вкладке Конструктор диаграмм последовательно выберите Добавить элемент диаграммы >Подписи данных >Дополнительные параметры подписей данных.

- В разделе Параметры подписи в группе Включать в подпись выберите требуемые параметры. Чтобы сделать метки данных более наглядными, их можно переместить в точки данных или даже за пределы диаграммы.
