Ábrák és diagramok létrehozása a Pythonnal az Excelben

Hatókör
Microsoft 365-höz készült Excel Microsoft 365-höz készült Mac Excel

A rendelkezésre állással kapcsolatos információkért lásd: A Python az Excelben elérhetősége. Ha bármilyen problémát tapasztal a Pythonnal kapcsolatban az Excelben, kérjük, jelentse őket a Súgó>visszajelzés lehetőséget választva az Excelben.

Most ismerkedik a Python az Excelben alkalmazással? Első lépések a Python az Excelben bevezetésével és a Python az Excelben használatának első lépései.

Nyílt forráskódú Python-kódtárak használata ábrázolások és diagramok létrehozásához

A Python az Excelben az Anaconda által biztosított alapvető Python-kódtárakat tartalmazza. Ez a cikk azt ismerteti, hogyan használhatja a Python-kódtárakat, például a seaborn és a Matplotlib ábrázolások és diagramok létrehozásához. A Python az Excelben elérhető nyílt forráskódú kódtárakról további információt a Nyílt forráskódú kódtárak és a Python az Excelben című témakörben talál.

A cikkben szereplő példák az íriszvirág adatkészletet használják. Töltse le ezt a mintamunkafüzetet a következő cikk követéséhez: python-in-excel-iris-dataset.xlsx.

Páros telek létrehozása a seabornnal

Ez a példa azt mutatja be, hogyan hozható létre az íriszvirág adathalmazának páros ábrázolású megjelenítése. A páros diagram egy ábrákból és diagramokból álló mátrix, amely egy adathalmaz egyes változói közötti kapcsolatot hasonlítja össze. Ebben az esetben az íriszvirág adatkészlet négy oszlopnyi numerikus adatot tartalmaz: sepal_length,sepal_width,petal_length és petal_width.

A Python az Excelben használatával hozzon létre egy páros ábrázolást a seaborn kódtárral.

A Python az Excelben a seaborn kódtárral hozza létre a vizualizációt. A seaborn-kódtár automatikusan importálásra kerül a Python az Excelben szolgáltatásba a következő importálási utasítással, amely lehetővé teszi, hogy az alias sns használatával hivatkozzon rá.

import seaborn as sns

Ha létre szeretné hozni az íriszvirág adathalmaz páros ábrázolását a seaborn tárral, hajtsa végre a következő lépéseket:

  1. Írja be a következő kódrészletet egy Python az Excelben cellába. A kódrészlet egy párdiagram nevű változóként tárolja a párdiagramot. Létrehozza a párábrázolást a seaborn könyvtár aliasával, az sns és a seaborn függvénnyel.

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

    A pairplot függvény argumentumaként a kódrészlet az xl() egyéni Python-függvényt használja, és a munkalap első táblájára, a Table1 táblára hivatkozik. A táblázat teljes tartalmát tartalmazza (mint [#All]), és megjegyzi, hogy a táblázatnak van egy fejlécsora (mint fejléc=Igaz). Ebben a példában az Iris adatkészlet a munkalap Tábla1 része.

    Tekintse meg a pár ábrázolási előnézetét egy DataFrame-ben.

    Megjegyzés

    Ha bármilyen hibába ütközik, további információért tekintse meg a Python az Excelben hibák elhárítása című témakört.

  2. A Python-képlet véglegesítése után a Python az Excelben egy képobjektumban adja vissza a páros ábrázolási vizualizációját. A képobjektum cellájában lévő kártyaikont kiválasztva megtekintheti a megjelenítés előnézetét.

    Tekintse meg a rajz előnézetét egy DataFrame-kártyán.

  3. Tartsa meg a vizualizációt Image objektumként, hogy továbbra is használni tudja Python-számításokhoz. Bontsa ki a képet az Excel-rácsba átméretezéshez és az egyes ábrázolások részletes megtekintéséhez. A kép rácsba való kinyeréséhez kattintson a jobb gombbal a képobjektumot tartalmazó cellára vagy nyomja le a Ctrl+kattintás billentyűkombinációt, és válassza a menü Cellák feletti ábrázolás megjelenítése elemét.

    A képobjektumok kinyeréséről további információt a jelen cikk Képobjektum kinyerése az Excel-rácsba című szakaszában talál.

Pontdiagram létrehozása a Matplotlib függvénnyel

Ez a példa azt ismerteti, hogyan hozható létre pontdiagram az íriszvirág mintaadatkészlettel. A pontdiagram egy adathalmaz két numerikus változója közötti kapcsolatot ábrázolja. A példa az alábbi képernyőképhez hasonló pontdiagramot hoz létre, amely a sepal_width és a sepal_length értékeket hasonlítja össze.

A Python az Excelben használatával pontdiagramot hozhat létre a matplotlib könyvtárral.

A Python az Excelben a Matplotlib nyílt forráskódú kódtárral hozza létre a vizualizációt. A Matplotlib kódtár automatikusan importálásra kerül a Python az Excelben szolgáltatáshoz a következő importálási utasítással, így plt néven hivatkozhat rá.

import matplotlib.pyplot as plt

Ha a Matplotlib tárral létre szeretné hozni az íriszvirág adathalmaz pontdiagramját, hajtsa végre a következő lépéseket:

  1. Egy Python az Excelben cellában használja a Matplotlib pontfüggvényt , és adja meg az Iris adathalmaz sepal_length és sepal_width oszlopait argumentumként. Ebben a példában az Iris adatkészlet a munkalap Tábla1 része.

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

  2. Adjon címet és címet a pontdiagramhoz.

    # 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')

    Megjegyzés

    Ezt a kódrészletet hozzáadhatja további kódsorként az előző lépés Python-képlete után, ugyanabba az Excel-cellába, vagy beírhatja a munkafüzet egy új Python az Excelben cellájába. Ha úgy dönt, hogy új cellába írja be, ügyeljen arra, hogy a sor fő számítási sorrendjét szabó szabályokat kövesse, és az első cella után írja be.

  3. A Python-képletek véglegesítése után a Python az Excelben képobjektumként adja vissza a pontdiagram megjelenítést. A képobjektum cellájában lévő kártyaikont kiválasztva megtekintheti a megjelenítés előnézetét.

    Megtekintheti a pontdiagram előnézetét egy DataFrame-ben.

    Megjegyzés

    Ha bármilyen hibába ütközik, további információért tekintse meg a Python az Excelben hibák elhárítása című témakört.

  4. Tartsa meg a vizualizációt képobjektumként, hogy továbbra is Python-számításokhoz használhassa. Bontsa ki a képet az Excel-rácsba átméretezéshez és a rajz részletesebb megtekintéséhez. A kép rácsba való kinyeréséhez kattintson a jobb gombbal a képobjektumot tartalmazó cellára vagy nyomja le a Ctrl+kattintás billentyűkombinációt, és válassza a menü Cellák feletti ábrázolás megjelenítése elemét.

    A képobjektumok kinyeréséről további információt a jelen cikk Képobjektum kinyerése az Excel-rácsba című szakaszában talál.

Képobjektum kinyerése az Excel-rácsba

Amint azt a cikkben szereplő példák mutatják, a Python-kódtárak, például a seaborn és a Matplotlib adatmegjelenítéseket adhatnak vissza Excel-celláknak. Alapértelmezés szerint a Python az Excelben képobjektumként adja vissza ezeket a vizualizációkat.

A képobjektum cellájában lévő kártyaikont kiválasztva megtekintheti a megjelenítés előnézetét.

Tekintse meg a rajz előnézetét egy DataFrame-kártyán.

Két módon nyerhet ki képeket az Excel-rácsba: megjelenítheti a képet cellák fölötti ábrázolásként vagy egy cellán belül.

Kép megjelenítése cellák fölött

Az alábbi lépéseket követve a képet cellák feletti ábrázolásként jelenítheti meg.

  1. Kattintson a jobb gombbal vagy a Ctrl+kattintás billentyűkombinációval a kép objektumot tartalmazó cellára, és válassza a menü Rajz megjelenítése a cellák fölé menüpontját (vagy használja a Ctrl+Alt+Shift+C billentyűparancsot). Ezzel létrehozza a kép másolatát, amely az Excel-rács felett lebeg, és könnyen átméretezhető. Az eredeti képobjektum az eredeti cellában marad.

  2. Jelölje ki és húzza a diagramot a munkalapon való mozgatáshoz. Jelölje ki és húzza a kép sarkainál és oldalain lévő csomópontokat a méretezéshez.

    Lebegő ábrázolási megjelenítés létrehozása a Hivatkozás létrehozása ikonnal.

Kép megjelenítése egy cellán belül

A cellán belüli kép megjelenítéséhez kövesse az alábbi lépéseket.

  1. A kép objektumot Excel-értékként adja vissza. Jelölje ki a képobjektum celláját, nyissa meg a Python kimeneti menüjét a szerkesztőlécen, és válassza az Excel-érték lehetőséget.

    A kimenet típusának módosításához használja a Python kimeneti menüjét a szerkesztőléc mellett.

    Az ábrázolás képe ekkor a cellán belül jelenik meg.

    Tipp:

    A Python-képlet eredményeinek a Python-objektumok és az Excel-értékek közötti váltásához használja a Ctrl+Alt+Shift+M billentyűparancsot. További billentyűparancsokat a Python az Excelben billentyűparancsai című témakörben talál.

  2. Az ábrázolás képének mérete a cella méretétől függ. Növelheti a kép méretét a cella méretének növelésével vagy cellák egyesítésével.

Eltérő betűtípusok használata az angoltól eltérő nyelvekhez

Ha nem latin ábécé karaktereket (például kínai, koreai vagy thai karaktereket) használó adatokat szeretne diagramon megjeleníteni, használja a excel.FontPathkövetkezőt: . Alapértelmezés szerint a Python az Excelben a nem latin ábécé karaktereit üres négyzetként ("□") jeleníti meg. Ennek megoldásához excel.FontPath a modul segítségével excel másik betűtípust hívhat meg és renderelheti a karaktereket.

A következő betűtípusok érhetők el. Az attribútumot a rendszer hozzáfűzi excel.FontPath a Python-kódhoz. Az elérési út az attribútum által meghívott betűtípusfájlra hivatkozik.

Attribútum Elérési út
BENGÁLI /usr/share/fonts/Vrinda.ttf
CHINESE_SIMPLIFIED /usr/share/fonts/SimSun.ttf
CHINESE_TRADITIONAL /usr/share/fonts/MingLiU.ttf
HINDI /usr/share/fonts/Mangal.ttf
JAPÁN /usr/share/fonts/Meiryo.ttf
KOREAI /usr/share/fonts/Batang.ttf
THAI /usr/share/fonts/THSarabunPSK.ttf

Használja az Excelt. FontPath az egyszerűsített kínai rajzfeliratok megjelenítéséhez

Az alábbi képernyőképen egy olyan diagram látható, amelyen a feliratok egyszerűsített kínai karakterekkel vannak ábrázolva excel.FontPath. A képernyőkép utáni kódminta bemutatja, hogyan excel.FontPath.CHINESE_SIMPLIFIED lehet karaktereket megjeleníteni az egyszerűsített kínai könyvtárból.

Megfelelően megjelenő karaktereket tartalmazó diagram

Kódminta az Excel használatával. Betűtípus elérési útja

Ez a kódminta bemutatja, hogyan kell excel.FontPath.CHINESE_SIMPLIFIED létrehozni a rajzot és az egyszerűsített kínai karaktereket az előző képernyőképen látható ábrázolási címkékben.

-

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()