Сведения о доступности см. в статье о доступности Python в Excel. Если у вас возникли какие-либо проблемы с Python в Excel, сообщите о них, выбрав Help>Feedback в 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 со следующей инструкцией импорта, что позволяет ссылаться на нее с помощью псевдонима sns.
import seaborn as sns
Чтобы создать парный график из набора данных цветка Iris с библиотекой seaborn, выполните следующие действия:
Введите следующий фрагмент кода в ячейку Python в Excel. Фрагмент кода хранит парный график в виде переменной под названием pairplot. Он создает парный график с псевдонимом библиотеки seaborn sns и функцией seaborn pairplot.
pairplot = sns.pairplot(xl("Table1[#All]", headers=True))В качестве аргумента функции pairplot фрагмент кода использует пользовательскую функцию Python xl() и ссылается на первую таблицу на листе — Table1. Он включает в себя все содержимое таблицы (как [#All]) и отмечает, что таблица включает строку заголовка (так как headers=True). В этом примере таблица1 на листе содержит набор данных Iris.
Примечание
При возникновении ошибок дополнительные сведения см. в разделе Устранение ошибок Python в Excel.
После фиксации формулы Python Python в Excel возвращает визуализацию парного графика в объекте изображения. Выберите значок карточки в ячейке объекта изображения для предварительного просмотра визуализации.
Сохраните визуализацию как объект Image, чтобы продолжить использовать ее для вычислений Python. Извлеките изображение в сетку Excel, чтобы изменить его размер и рассмотреть каждый график более подробно. Чтобы извлечь изображение в сетку, щелкните правой кнопкой мыши или Ctrl+щелкните ячейку, содержащую объект изображения, и выберите в меню пункт " Отображать график по ячейкам ".
Дополнительные сведения об извлечении объектов изображения см. в разделе статьи "Извлечение объекта изображения в сетку Excel " этой статьи.
Создание точечной диаграммы с помощью Matplotlib
В этом примере описывается создание точечной диаграммы с помощью примера набора данных "Цветок ириса". Точечная диаграмма показывает связь между двумя числовыми переменными в наборе данных. В примере создается точечная диаграмма, которая выглядит, как на следующем снимке экрана, сравнивая значения sepal_width и sepal_length .
Python в Excel создает визуализацию с помощью библиотеки с открытым кодом Matplotlib . Библиотека Matplotlib автоматически импортируется в Python в Excel со следующей инструкцией импорта, что позволяет ссылаться на нее как на plt.
import matplotlib.pyplot as plt
Чтобы создать точечную диаграмму для набора данных "Цветок ириса" с помощью библиотеки Matplotlib, выполните следующие действия:
В ячейке Python в Excel используйте точечную функцию Matplotlib и введите sepal_length и sepal_width столбцы набора данных Iris в качестве аргументов. В этом примере таблица1 на листе содержит набор данных 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.
Размер изображения графика зависит от размера ячейки. Увеличьте размер изображения путем увеличения размера ячейки или путем объединения ячеек.
Использование разных шрифтов для языков, отличных от английского
Для построения диаграммы данных, использующих символы нелатинского алфавита, такие как китайский, корейский или тайский языки, используйте 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 |
Используйте Excel. FontPath для отображения подписей графиков на китайском языке (упрощенное письмо)
На следующем снимке экрана показана диаграмма с подписями графиков иероглифами китайского языка (упрощенное письмо) с использованием excel.FontPath. В примере кода после снимка экрана показано, как отобразить excel.FontPath.CHINESE_SIMPLIFIED символы из библиотеки китайского языка (упрощенное письмо).
Пример кода с использованием Excel. FontPath
В этом примере кода показано, как создать excel.FontPath.CHINESE_SIMPLIFIED график и символы китайского языка (упрощенное письмо) в подписях графиков, показанных на предыдущем снимке экрана.
-
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# Set the font path. This 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()