Создание графиков и диаграмм Для Python в Excel
Applies To
Excel для Microsoft 365Python в Excel теперь доступен для корпоративных и бизнес-пользователей, работающих с Текущим каналом в Windows, начиная с версии 2407 (сборка 17830.20128) и Monthly Enterprise Channel в Windows, начиная с версии 2408 (сборка 17928.20216). Он доступен в предварительной версии для семейных и личных пользователей, работающих с Текущим каналом в Windows, начиная с версии 2405 (сборка 17628.20164). Python в Excel доступен в предварительной версии для пользователей образовательных учреждений, работающих с текущим каналом (предварительная версия) в рамках программы предварительной оценки Microsoft 365. В настоящее время он недоступен для Semi-Annual Enterprise Channel.
Сначала он развертывается в Excel для Windows, а затем на других платформах позже. Дополнительные сведения о доступности см. в статье Доступность Python в Excel.
Если у вас возникли проблемы с Python в Excel, сообщите о них, выбрав Справка > отзыв в Excel.
Новичок в Python в Excel? Начните с статьи Введение в Python в Excel и Начало работы с Python в Excel.
Использование библиотек Python с открытым кодом для создания графиков и диаграмм
Python в Excel поставляется с основным набором библиотек Python, предоставляемых Anaconda. В этой статье описывается использование библиотек Python, таких как seabornи matplotlib, для создания графиков и диаграмм. Дополнительные сведения о библиотеках с открытым кодом, доступных с помощью Python в Excel, см. в статье Библиотеки с открытым кодом и Python в Excel.
В примерах, приведенных в этой статье, используется набор данных цветка ириса. Скачайте этот пример книги, чтобы следовать вместе со статьей python-in-excel-iris-dataset.xlsx.
Создание парного графика с помощью seaborn
В этом примере показано, как создать визуализацию парного графика набора данных цветка ириса. Парный график — это матрица графиков и диаграмм, которая сравнивает связь между каждой переменной в наборе данных. В этом случае набор данных цветка ириса содержит четыре столбца числовых данных: sepal_length, sepal_width, petal_length и petal_width.
Python в Excel создает визуализацию с помощью библиотеки seaborn. Библиотека seabornавтоматически импортируется для Python в Excel с помощью следующей инструкции import, что позволяет ссылаться на нее с помощью псевдонима sns.
import seaborn as sns
Чтобы создать парный график набора данных цветка ириса с помощью библиотеки морских видов, сделайте следующее:
-
Введите следующий фрагмент кода в ячейку Python в Excel. Фрагмент кода сохраняет график пары в виде переменной с именем pairplot. Он создает диаграмму пары с псевдонимом sns библиотеки морского происхождения и морской функцией pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) В качестве аргумента для функции pairplot фрагмент кода использует пользовательскую функцию Python xl() и ссылается на первую таблицу на листе Table1. Он включает все содержимое таблицы (как [#All]) и отмечает, что таблица содержит строку заголовка (как headers=True). В этом примере таблица Table1 на листе содержит набор данных Iris.
Примечание: При возникновении ошибок дополнительные сведения см. в разделе Устранение ошибок Python в Excel.
-
После фиксации формулы Python Python в Excel возвращает визуализацию парного графика в объекте изображения. Выберите значок карточки в ячейке объекта изображения для предварительного просмотра визуализации.
-
Оставьте визуализацию как объект Image, чтобы продолжать использовать ее для вычислений Python. Извлеките изображение в сетку Excel, чтобы изменить его размер и просмотреть каждый график более подробно. Чтобы извлечь изображение в сетку, щелкните правой кнопкой мыши или ctrl +щелкните ячейку, содержащую объект изображения, и выберите в меню пункт Показать график над ячейками.
Дополнительные сведения об извлечении объектов изображений см. в статье Извлечение объекта изображения в сетку Excel этой статьи.
Создание точечной диаграммы с помощью Matplotlib
В этом примере описывается создание точечной диаграммы с набором данных образца цветка ириса. Точечная диаграмма показывает связь между двумя числовыми переменными в наборе данных. В этом примере создается точечная диаграмма, которая выглядит, как показано на следующем снимку экрана, сравнивая значения sepal_width и sepal_length .
Python в Excel создает визуализацию с помощью библиотеки с открытым кодом Matplotlib. Библиотека Matplotlibавтоматически импортируется для Python в Excel со следующей инструкцией import, что позволяет ссылаться на нее как plt.
import matplotlib.pyplot as plt
Чтобы создать точечную диаграмму для набора данных цветка ириса с помощью библиотеки Matplotlib, сделайте следующее:
-
В ячейке Python в Excel используйте точечнуюфункцию matplotlib и введите sepal_length и sepal_width столбцы набора данных Iris в качестве аргументов. В этом примере таблица Table1 на листе содержит набор данных Iris.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Добавьте метки и заголовок в точечную диаграмму. # Label the x and y axes of the plot. plt.xlabel('sepal_length') plt.ylabel('sepal_width') # Add a title to the plot. plt.title('Sepal length and width analysis')
Примечание: Этот фрагмент кода можно добавить в качестве дополнительной строки кода после формулы Python на предыдущем шаге в той же ячейке Excel или ввести его в новую ячейку Python в excel в книге. Если вы решили ввести его в новую ячейку, обязательно следуйте правилам порядка вычисления крупных строк и введите его после первой ячейки.
-
После фиксации формул Python Python в Excel возвращает визуализацию точечной диаграммы в виде объекта изображения. Выберите значок карточки в ячейке объекта изображения для предварительного просмотра визуализации.
Примечание: При возникновении ошибок дополнительные сведения см. в разделе Устранение ошибок Python в Excel.
-
Оставьте визуализацию как объект изображения, чтобы продолжать использовать ее для вычислений Python. Извлеките изображение в сетку Excel, чтобы изменить его размер и просмотреть график более подробно. Чтобы извлечь изображение в сетку, щелкните правой кнопкой мыши или ctrl +щелкните ячейку, содержащую объект изображения, и выберите в меню пункт Показать график над ячейками.
Дополнительные сведения об извлечении объектов изображений см. в статье Извлечение объекта изображения в сетку Excel этой статьи.
Извлечение объекта изображения в сетку Excel
Как показано в примерах в этой статье, библиотеки Python, такие как seaborn и Matplotlib, могут возвращать визуализации данных в ячейки Excel. По умолчанию Python в Excel возвращает эти визуализации в виде объектов изображений.
Щелкните значок карта в ячейке объекта изображения, чтобы просмотреть предварительный просмотр визуализации.
Существует два способа извлечения изображения в сетку Excel: отображение изображения в виде диаграммы над ячейками или отображение изображения в ячейке.
Отображение изображения по ячейкам
Выполните следующие действия, чтобы отобразить изображение в виде диаграммы над ячейками.
-
Щелкните правой кнопкой мыши или ctrl+ щелкните ячейку, содержащую объект изображения, и выберите в меню пункт Показать график над ячейками (или используйте сочетание клавиш CTRL+ALT+SHIFT+C). При этом создается копия изображения, которая перемещается по сетке Excel и может быть легко изменена. Исходный объект изображения остается в исходной ячейке.
-
Выделите и перетащите изображение диаграммы, чтобы переместить его по листу. Выделите и перетащите узлы в углах и сторонах изображения, чтобы изменить его размер.
Отображение изображения в ячейке
Выполните следующие действия, чтобы отобразить изображение в ячейке.
-
Возвращает объект изображения в виде значения Excel. Выберите ячейку объекта изображения, перейдите в меню Выходные данные Python в строке формул и выберите Значение Excel.
Изображение диаграммы теперь отображается в ячейке.Совет: Чтобы переключать результаты формул Python между объектами Python и значениями Excel, используйте сочетание клавиш CTRL+ALT+SHIFT+M. Дополнительные сведения о сочетаниях клавиш см. в статье Сочетания клавиш Python в Excel.
-
Размер изображения диаграммы зависит от размера ячейки. Увеличьте размер изображения путем увеличения размера ячейки или путем слияния ячеек.
Создание собственных графиков и диаграмм
Теперь, когда вы узнали, как создавать графики и диаграммы Python в Excel с примерами набора данных, вводить собственные данные в книгу Excel и создавать пользовательские визуализации.
Чтобы импортировать внешние данные для использования с Python в Excel, используйте Power Query. Дополнительные сведения см. в статье Использование Power Query для импорта данных для Python в Excel.
Использование разных шрифтов для языков, отличных от английского
Для диаграммы данных, использующих символы нелатинского алфавита, например китайский, корейский или тайский, используйте excel.FontPath. По умолчанию Python в Excel отображает символы нелатинского алфавита в виде пустого квадрата ("□"). Чтобы устранить эту проблему, excel.FontPath позволяет использовать модуль excel для вызова другого шрифта и отображения символов.
Доступны следующие шрифты. Атрибут добавляется к excel.FontPath в коде Python. Путь ссылается на файл шрифта, вызываемый атрибутом .
Атрибут |
Путь |
---|---|
БЕНГАЛЬСКИЙ |
/usr/share/fonts/Vrinda.ttf |
CHINESE_SIMPLIFIED |
/usr/share/fonts/SimSun.ttf |
CHINESE_TRADITIONAL |
/usr/share/fonts/MingLiU.ttf |
ХИНДИ |
/usr/share/fonts/Mangal.ttf |
ЯПОНСКИЙ |
/usr/share/fonts/Meiryo.ttf |
КОРЕЙСКИЙ |
/usr/share/fonts/Batang.ttf |
ТАЙСКИЙ |
/usr/share/fonts/THSarabunPSK.ttf |
превосходить. Пример FontPath
Перед
Эта диаграмма не может отобразить правильные метки диаграммы, так как шрифт по умолчанию не поддерживает предоставленные символы.
Пример кода для неправильно отрисованных меток диаграмм:
import matplotlib.pyplot as plt # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |
После
Чтобы исправить метки диаграммы в этом примере, используйте excel.FontPath.CHINESE_SIMPLIFIED для правильной отрисовки предоставленных символов на китайском языке.
Пример кода для правильно отрисованных меток диаграмм:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. # Returns '/usr/share/fonts/simsun.ttf' font_path = excel.FontPath.CHINESE_SIMPLIFIED # Point the properties to the font path. font_properties = FontProperties(fname=font_path) plt.rcParams['font.family'] = font_properties.get_name() # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |