Створення графіків і діаграм за допомогою Python в Excel
Applies To
Excel для Microsoft 365Python в Excel тепер доступний для корпоративних і бізнес-користувачів, які працюють під керуванням поточного каналу у Windows, починаючи з версії 2408 (збірка 17928.20114) і щомісячного корпоративного каналу для Windows, починаючи з версії 2408 (збірка 17928.20216). Вона доступна в підготовчі версії для користувачів "Родина" та "Особисті", які працюють під керуванням поточного каналу windows, починаючи з версії 2405 (збірка 17628.20164). Python в Excel доступний у підготовчі версії для користувачів навчальних закладів, які працюють на поточному каналі (підготовча версія) за програмою оцінювання Microsoft 365. Зараз він недоступний для корпоративного каналу Semi-Annual.
Спочатку вона розгортається в Excel для Windows, а потім на інших платформах пізніше. Докладні відомості про доступність див. в статті Python у версії Excel.
Якщо у вас виникнуть проблеми з Python в Excel, повідомте про це, вибравши елемент Довідка > відгуків у програмі Excel.
Ще не використовували Python в Excel? Почніть із вступу до Python в Excel і почніть роботу з Python в Excel.
Створення графіків і діаграм за допомогою бібліотек Python із відкритим кодом
Python в Excel постачається з основним набором бібліотек Python, які надає anaconda. У цій статті описано, як створювати сюжети й діаграми за допомогою бібліотек Python, як-от морськийі Матплотліб. Докладні відомості про бібліотеки з відкритим кодом, доступні в Python в Excel, див. в статті Бібліотеки з відкритим кодом і Python в Excel.
У прикладах у цій статті використовується набір даних квітки райдужної риски. Завантажте цей зразок книги, щоб виконати вказівки зі статті: python-in-excel-iris-dataset.xlsx.
Створення парної ділянки за допомогою морського народження
У цьому прикладі показано, як створити парну візуалізацію графічного відображення набору даних квітки райдужної риски. Парна побудова – це матриця графіків і діаграм, яка порівнює зв'язок між кожною змінною в наборі даних. У цьому випадку набір даних квітки райдужної риси містить чотири стовпці числових даних: sepal_length, sepal_width, petal_length та petal_width.
Python у програмі Excel створює візуалізацію за допомогоюморської бібліотеки. Бібліотека морського народженняавтоматично імпортується для Python у програмі Excel за допомогою наведеного нижче оператора імпорту, що дає змогу посилатися на неї з псевдонімами.
import seaborn as sns
Щоб створити парну побудову набору даних квітки райдужної риси з бібліотекою морського народження, виконайте такі дії:
-
Введіть наведений нижче фрагмент коду в клітинку Python у клітинці Excel. Фрагмент коду зберігає парну ділянку як змінну під назвою pairplot. Вона створює парну ділянку з псевдонімом морської бібліотеки sns і функцією seaborn pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Як аргумент для функції pairplot фрагмент коду використовує настроювану функцію Python xl() і посилається на першу таблицю на аркуші Table1. Вона містить увесь вміст таблиці ( як-от [#All]) і нотатки, які містять рядок заголовка (як заголовки=Істина)." У цьому прикладі таблиця1 на аркуші містить набір даних райдужної риски.
Примітка.: Докладні відомості див. в статті Виправлення помилок Python у програмі Excel .
-
Після створення формули Python у програмі Excel Python повертає парну візуалізацію побудови в графічному об'єкті зображення. Клацніть піктограму картки у клітинці графічного об'єкта, щоб переглянути візуалізацію.
-
Зберігайте візуалізацію як об'єкт Image, щоб і надалі використовувати його для обчислень Python. Видобути зображення до сітки Excel, щоб змінити його розмір і переглянути кожен сюжет докладніше. Щоб видобути зображення до сітки, клацніть правою кнопкою миші або клацніть правою кнопкою миші клітинку, яка містить об'єкт зображення, і виберіть у меню пункт Показати побудову над клітинками.
Додаткові відомості про видобування графічних об'єктів див. в розділі Видобування об'єкта зображення до сітки 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 стовпці набору даних райдужної риси як аргументи. У цьому прикладі таблиця1 на аркуші містить набір даних райдужної риски.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 у програмі Excel функція Python повертає точкову візуалізацію побудови як графічне відображення зображення. Клацніть піктограму картки у клітинці графічного об'єкта, щоб переглянути візуалізацію.
Примітка.: Докладні відомості див. в статті Виправлення помилок Python у програмі Excel .
-
Зберігайте візуалізацію як графічний об'єкт, щоб і надалі використовувати його для обчислень Python. Видобути зображення до сітки Excel, щоб змінити його розмір і переглянути його докладніше. Щоб видобути зображення до сітки, клацніть правою кнопкою миші або клацніть правою кнопкою миші клітинку, яка містить об'єкт зображення, і виберіть у меню пункт Показати побудову над клітинками.
Додаткові відомості про видобування графічних об'єктів див. в розділі Видобування об'єкта зображення до сітки Excel у цій статті.
Видобування графічного об'єкта до сітки Excel
Як продемонстровано в цій статті, бібліотеки Python, як-от seaborn і Matplotlib, можуть повертати графічні відображення даних у клітинки Excel. За замовчуванням Python у програмі Excel повертає ці графічні відображення як графічні об'єкти.
Виберіть піктограму картки в клітинці графічного об'єкта, щоб переглянути візуалізацію.
Видобути зображення до сітки Excel можна двома способами: відобразити зображення як зображення на графіку над клітинками або відобразити зображення в клітинці.
Відображення зображення поверх клітинок
Виконайте наведені нижче дії, щоб відобразити зображення як зображення на графіку над клітинками.
-
Клацніть правою кнопкою миші або клацніть правою кнопкою миші клітинку, яка містить графічний об'єкт, і виберіть у меню пункт Показати побудову клітинок над клітинками (або скористайтеся сполученням клавіш 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()