Създаване на графики и диаграми с Python в Excel

Отнася се за
Excel за Microsoft 365 Excel за Microsoft 365 за Mac

За информация за наличността вижте наличността на 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.

Python в Excel създава визуализацията с библиотеката seaborn . Библиотеката seaborn се импортира автоматично за Python в Excel със следната команда за импортиране, която ви позволява да я използвате с псевдонима sns.

import seaborn as sns

За да създадете двойна графика на набора данни за цветето "Ирис" с библиотеката seaborn, изпълнете следните стъпки:

  1. Въведете следния фрагмент от код в клетка на Python в Excel. Фрагментът от код съхранява двойната графика като променлива, наречена pairplot. Той създава двойната графика с псевдонима на библиотеката seaborn sns и функцията seaborn pairplot.

    pairplot = sns.pairplot(xl("Table1[#All]", headers=True))

    Като аргумент за функцията Pairplot , фрагментът от код използва функцията на Python по избор xl() и препраща към първата таблица в работния лист, Таблица1. Тя включва цялото съдържание на таблицата (като [#All]) и отбелязва, че таблицата включва заглавен ред (as headers=True). В този пример Таблица1 в работния лист съдържа набора от данни "Ирис".

    Вижте визуализацията на двойната графика в рамка за данни.

    Забележка

    Ако срещнете грешки, вижте Отстраняване на грешки на Python в Excel за повече информация.

  2. След като фиксирате вашата формула на Python, Python в Excel връща визуализацията на двойната графика в обект на изображение. Изберете иконата на карта в клетката с обект на изображение, за да видите визуализация на визуализацията.

    Вижте визуализация на графиката в карта на рамка за данни.

  3. Запазете визуализацията като обект на изображение, за да продължите да я използвате за изчисления на Python. Извлечете изображението в мрежата на Excel, за да го преоразмерите и да разгледате всяка графика по-подробно. За да извлечете изображението в мрежата, щракнете с десния бутон или Ctrl+щракнете върху клетката, съдържаща обекта изображение, и изберете от менюто "Показване на начертаване на клетките ".

    За допълнителна информация за извличането на обекти на изображение вж. раздела в статията "Извличане на обект изображение в мрежата на Excel " в тази статия.

Създаване на точкова диаграма с Matplotlib

Този пример описва как да създадете точкова диаграма с примерния набор данни за цвете "Ирис". Точковата диаграма показва отношението между две числови променливи в набор данни. Примерът създава точкова диаграма, която изглежда като следващата екранна снимка, сравняваща стойностите на sepal_width и sepal_length .

Използвайте Python в Excel, за да създадете точкова диаграма с библиотеката matplotlib.

Python в Excel създава визуализацията с библиотеката с отворен код на Matplotlib . Библиотеката Matplotlib се импортира автоматично за Python в Excel със следната команда за импортиране, която ви позволява да я използвате като plt.

import matplotlib.pyplot as plt

За да създадете точкова диаграма на набора данни за цветето на ириса с библиотеката Matplotlib, изпълнете следните стъпки:

  1. В клетка на Python в Excel използвайте точковата функция Matplotlib и въведете sepal_length и sepal_width колони на набора от данни на ириса като аргументи. В този пример Таблица1 в работния лист съдържа набора от данни "Ирис".

    plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Добавете етикети и заглавие към точковата диаграма.

    # 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 във вашата работна книга. Ако решите да я въведете в нова клетка, спазвайте правилата за реда на изчисляване за големи редове и я въведете след първата клетка.

  3. След като фиксирате вашите формули на Python, Python в Excel връща визуализацията на точковата диаграма като обект на изображението. Изберете иконата на карта в клетката с обект на изображение, за да видите визуализация на визуализацията.

    Прегледайте визуализация на точковата диаграма в рамка за данни.

    Забележка

    Ако срещнете грешки, вижте Отстраняване на грешки на Python в Excel за повече информация.

  4. Запазете визуализацията като обект на изображение, за да продължите да я използвате за изчисления на Python. Извлечете изображението в мрежата на Excel, за да го преоразмерите и да видите графиката по-подробно. За да извлечете изображението в мрежата, щракнете с десния бутон или Ctrl+щракнете върху клетката, съдържаща обекта изображение, и изберете от менюто "Показване на начертаване на клетките ".

    За допълнителна информация за извличането на обекти на изображение вж. раздела в статията "Извличане на обект изображение в мрежата на Excel " в тази статия.

Извличане на обект изображение в мрежата на Excel

Както е показано от примерите в тази статия, библиотеките на Python, като seaborn и Matplotlib, могат да връщат визуализации на данни в клетки на Excel. По подразбиране Python в Excel връща тези визуализации като обекти на изображения.

Изберете иконата на карта в клетка с обект на изображение, за да видите визуализация на визуализацията.

Вижте визуализация на графиката в карта на рамка за данни.

Има два начина за извличане на изображение в мрежата на Excel: да покажете изображението като чертеж върху клетки или да покажете изображението в клетка.

Показване на изображението върху клетки

Следвайте тези стъпки, за да покажете изображението като графика върху клетките.

  1. Щракнете с десния бутон или Ctrl+щракнете върху клетката, съдържаща обекта изображение, и изберете "Показване, начертаване на клетките " от менюто (или използвайте клавишната комбинация Ctrl+Alt+Shift+C). Това създава копие на изображението, което плава в мрежата на Excel и може лесно да се преоразмерява. Първоначалният обект изображение остава в първоначалната клетка.

  2. Изберете и плъзнете изображението, за да го преместите в работния лист. Изберете и плъзнете възлите в ъглите и отстрани на изображението, за да го преоразмерите.

    Създайте визуализация с плаващ график с иконата за създаване на препратка.

Показване на изображението в клетка

Следвайте тези стъпки, за да покажете изображението в клетка.

  1. Връща обекта изображение като стойност на Excel. Изберете клетката с обект на изображение, отидете в менюто за изход на Python в лентата за формули и изберете стойност на Excel.

    Използвайте менюто за резултати на Python до лентата за формули, за да промените типа на резултата.

    Сюжетното изображение сега се показва в клетката.

    Съвет

    За да превключвате резултатите от формулата на Python между обекти на Python и стойности на Excel, използвайте клавишната комбинация Ctrl+Alt+Shift+M. За да научите повече клавишни комбинации, вижте Клавишни комбинации за Python в Excel.

  2. Размерът на сюжетното изображение зависи от размера на клетката. Увеличете размера на изображението чрез увеличаване на размера на клетката или чрез обединяване на клетки.

Използване на различни шрифтове за езици, различни от английски

За да направите диаграма с данни, които използват знаци, които не са на латиница, като например китайски, корейски или тайландски, използвайте 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 to display simplified Chinese plot labels

Следващата екранна снимка показва диаграма с етикети на печат на опростени китайски знаци, използващи 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()