Diagramok és diagramok létrehozása a Pythonnal az Excelben
Applies To
Microsoft 365-höz készült ExcelAz Excelben a Python mostantól a Windows aktuális csatornáját futtató Vállalati és Üzleti felhasználók számára érhető el, a 2408-es verziótól (17928.20114-es build) és a Havi nagyvállalati csatornától kezdve Windows rendszeren, a 2408-es verziótól kezdve (17928.20216-os build). Előzetes verzióban érhető el a Windows aktuális csatornáját futtató Családi és Egyszemélyes felhasználók számára a 2405-ös verziótól kezdve (17628.20164-es build). A Python az Excelben előzetes verzióban érhető el a Microsoft 365 Insider Programon keresztül az Aktuális csatornát (előzetes verzió) futtató Oktatási felhasználók számára. Az Semi-Annual Enterprise Channel esetében jelenleg nem érhető el.
Először a Windows Excelben, majd később más platformokon is bevezetjük. További információ a rendelkezésre állásról: Python az Excelben rendelkezésre állás.
Ha problémát tapasztal a Pythonnal kapcsolatban az Excelben, jelentse őket a Súgó > Visszajelzés az Excelben lehetőség kiválasztásával.
Most ismerkedik a Pythonnal az Excelben? Első lépésként ismerkedjen meg a Python Excelben való használatával , és ismerkedjen meg a Pythonnal az Excelben.
Diagramok és diagramok létrehozása nyílt forráskódú Python-kódtárak használatával
A Python az Excelben az Anaconda által biztosított Python-kódtárak alapvető készletével rendelkezik. Ez a cikk bemutatja, hogyan hozhat létre diagramokat és diagramokat Python-kódtárak, például a seabornés a Matplotlib használatával. A Pythonnal az Excelben elérhető nyílt forráskódú kódtárakkal kapcsolatos további információkért lásd: Nyílt forráskódú kódtárak és Python az Excelben.
A cikkben szereplő példák az Írisz virág adatkészletet használják. Töltse le ezt a mintamunkafüzetet a következő cikkel együtt: python-in-excel-iris-dataset.xlsx.
Párdiagram létrehozása a seaborn használatával
Ez a példa bemutatja, hogyan hozhat létre egy párdiagramot az Írisz virág adatkészletéről. A párdiagram egy diagramok és diagramok mátrixa, amely összehasonlítja az adathalmaz egyes változói közötti kapcsolatot. Ebben az esetben az Írisz virág adatkészlet négy numerikus adatoszlopot tartalmaz: sepal_length, sepal_width, petal_length és petal_width.
A Python az Excelben létrehozza a vizualizációt a seabornkódtárral. A seabornkódtár automatikusan importálódik a Pythonhoz az Excelben az alábbi importálási utasítással, így hivatkozhat rá az sns aliassal.
import seaborn as sns
Az íriszvirág-adatkészlet és a tengeri könyvtár párdiagramjának létrehozásához hajtsa végre a következő lépéseket:
-
Írja be a következő kódrészletet egy Python-cellába az Excelben. A kódrészlet a párdiagramot egy pairplot nevű változóként tárolja. Létrehozza a párdiagramot a seaborn kódtár sn aliasával és a seaborn függvénypárplottal. 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ázatára, a Table1 táblára hivatkozik. Tartalmazza a teljes táblázattartalmat ([ #All]), és megjegyzi, hogy a táblázat tartalmaz egy fejlécsort ( fejléc=Igaz). Ebben a példában a munkalap 1. táblázata tartalmazza az Írisz adatkészletet.
Megjegyzés: Ha bármilyen hibába ütközik, további információkért lásd: Python-hibák elhárítása az Excelben .
-
A Python-képlet véglegesítése után a Python az Excelben a képobjektumban visszaadja a párdiagram-vizualizációt. Válassza a kártya ikont a képobjektum cellájában a vizualizáció előnézetének megtekintéséhez.
-
Tartsa a vizualizációt képobjektumként, hogy továbbra is használja a Python-számításokhoz. Bontsa ki a képet az Excel rácsába az átméretezéséhez és az egyes diagramok részletesebb megtekintéséhez. Ha ki szeretné bontani a képet a rácsra, kattintson a jobb gombbal vagy a Ctrl billentyűt lenyomva tartva kattintson a képobjektumot tartalmazó cellára, és válassza a Diagram megjelenítése cellák felett parancsot a menüben.
A képobjektumok kinyerésével kapcsolatos további információkért tekintse meg a jelen cikk Képobjektum kinyerése az Excel rácsba című szakaszát.
Pontdiagram létrehozása a Matplotlib használatával
Ez a példa bemutatja, hogyan hozhat létre pontdiagramot az Íriszvirág mintaadatkészlettel. A pontdiagram egy adathalmaz két numerikus változója közötti kapcsolatot mutatja. A példa az alábbi képernyőképhez hasonló pontdiagramot hoz létre, amely összehasonlítja a sepal_width és sepal_length értékeket.
A Python az Excelben a Matplotlibnyílt forráskódú kódtárral hozza létre a vizualizációt. A Matplotlibkódtár automatikusan importálódik a Pythonhoz az Excelben az alábbi importálási utasítással, így plt-ként hivatkozhat rá.
import matplotlib.pyplot as plt
Ha pontdiagramot szeretne létrehozni az íriszvirág-adatkészletről a Matplotlib kódtárral, hajtsa végre a következő lépéseket:
-
Az Excel-cellákban a Pythonban használja a Matplotlib pontfüggvényt, és argumentumként adja meg az Írisz adatkészlet sepal_length és sepal_width oszlopát. Ebben a példában a munkalap 1. táblázata tartalmazza az Írisz adatkészletet.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Adjon hozzá címkéket é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ésben, ugyanabban az Excel-cellában lévő Python-képlet után, vagy beírhatja egy új Python-kódrészletbe a munkafüzet Excel-cellájában. Ha úgy dönt, hogy egy új cellába írja be, mindenképpen kövesse a sor-fő számítási sorrend szabályait, és adja meg az első cella után.
-
A Python-képletek véglegesítése után a Python az Excelben képobjektumként adja vissza a pontdiagram-vizualizációt. Válassza a kártya ikont a képobjektum cellájában a vizualizáció előnézetének megtekintéséhez.
Megjegyzés: Ha bármilyen hibába ütközik, további információkért lásd: Python-hibák elhárítása az Excelben .
-
Tartsa a vizualizációt képobjektumként, hogy továbbra is használhassa Python-számításokhoz. Bontsa ki a képet az Excel rácsába, és méretezze át, és tekintse meg részletesebben a diagramot. Ha ki szeretné bontani a képet a rácsra, kattintson a jobb gombbal vagy a Ctrl billentyűt lenyomva tartva kattintson a képobjektumot tartalmazó cellára, és válassza a Diagram megjelenítése cellák felett parancsot a menüben.
A képobjektumok kinyerésével kapcsolatos további információkért tekintse meg a jelen cikk Képobjektum kinyerése az Excel rácsba című szakaszát.
Képobjektum kinyerése az Excel-rácsba
Ahogy az ebben a cikkben bemutatott példák is mutatják, a Python-kódtárak, például a seaborn és a Matplotlib adatvizualizációkat adhatnak vissza Excel-cellákba. 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ártya ikont választva megtekintheti a vizualizáció előnézetét.
A képeket kétféleképpen nyerheti ki az Excel-rácsba: megjelenítheti a képet diagramként a cellák felett, vagy megjelenítheti a képet egy cellán belül.
A kép megjelenítése cellák felett
Az alábbi lépéseket követve jelenítheti meg a képet diagramként a cellák felett.
-
Kattintson a jobb gombbal vagy a Ctrl billentyűt lenyomva tartva kattintson a képobjektumot tartalmazó cellára, és válassza a Diagram megjelenítése cellák felett parancsot a menüben (vagy használja a Ctrl+Alt+Shift+C billentyűparancsot). Ezzel létrehoz egy másolatot a képről, amely az Excel rácsán lebeg, és könnyen átméretezhető. Az eredeti képobjektum az eredeti cellában marad.
-
Jelölje ki és húzza a rajzképet a munkalap körüli mozgatásához. Jelölje ki és húzza át a kép sarkainál és oldalán lévő csomópontokat az átméretezéséhez.
A kép megjelenítése egy cellán belül
Kövesse az alábbi lépéseket a kép cellán belüli megjelenítéséhez.
-
A képobjektumot adja vissza Excel-értékként. 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 diagramkép ekkor megjelenik a cellán belül.Tipp: A Python-képletek eredményeinek Python-objektumok és Excel-értékek közötti váltásához használja a Ctrl+Alt+Shift+M billentyűparancsot. További billentyűparancsokról a Python az Excel billentyűparancsai című témakörben olvashat.
-
A diagramkép mérete a cella méretétől függ. Növelje a kép méretét a cella méretének növelésével vagy a cellák egyesítésével.
Eltérő betűtípusok használata nem angol nyelvű nyelvekhez
A nem latin betűs karaktereket (például kínai, koreai vagy thai) használó adatok diagramkészítéséhez használja a excel.FontPath. Alapértelmezés szerint a Python az Excelben a nem latin betűs karaktereket üres négyzetként ('□') jeleníti meg. A probléma megoldásához excel.FontPath lehetővé teszi, hogy a excel modullal meghívjon egy másik betűtípust, és renderelje a karaktereket.
Az alábbi betűtípusok érhetők el. Az attribútum hozzá lesz fűzve excel.FontPath a Python-kódban. 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 egyszerűsített kínai rajzcímkék megjelenítéséhez
Az alábbi képernyőképen egy diagram látható, amelyen a diagramcímkék egyszerűsített kínai karaktereket tartalmaznak a excel.FontPathhasználatával. A képernyőkép utáni kódminta bemutatja, hogyan használható excel.FontPath.CHINESE_SIMPLIFIED az egyszerűsített kínai kódtárban szereplő karakterek megjelenítésére.
Kódminta az Excel használatával. FontPath
Ez a kódminta bemutatja, hogyan hozhatja létre a diagramot excel.FontPath.CHINESE_SIMPLIFIED és az egyszerűsített kínai karaktereket az előző képernyőképen látható rajzcí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()