Použití vzorců listu grafu v prezentacích pomocí Pythonu
Přehled
List pracovního listu grafu je zdroj dat za grafem v prezentaci. Uchovává názvy kategorií a řad spolu s číselnými hodnotami zobrazenými v grafu. V Aspose.Slides je tento list dostupný prostřednictvím sešitu dat grafu, což umožňuje programově pracovat s daty grafu.
Tento článek vysvětluje, jak používat vzorce v listu grafu, aby hodnoty buněk mohly být vypočítány a aktualizovány automaticky místo ručního zadání. Ukazuje, jak přiřadit vzorce, používat reference ve stylu A1 i R1C1, přepočítat vzorce v sešitu a pracovat s podporovanými konstantami, operátory, odkazy na buňky a předdefinovanými funkcemi dostupnými pro listy grafů v prezentacích.
O vzorci tabulky grafu v prezentaci
Tabulka grafu (nebo list grafu) v prezentaci je zdrojem dat pro graf. Tabulka grafu obsahuje data, která jsou v grafu graficky znázorněna. Když vytvoříte graf v PowerPointu, automaticky se vytvoří i list spojený s tímto grafem. List grafu se vytváří pro všechny typy grafů: čárový graf, sloupcový graf, souhvězdí (sunburst) graf, koláčový graf atd. Chcete-li v PowerPointu zobrazit tabulku grafu, poklepejte na graf:

Tabulka grafu obsahuje názvy prvků grafu (Název kategorie: Category1, Název řady) a tabulku s číselnými údaji odpovídajícími těmto kategoriím a řadám. Ve výchozím nastavení, když vytvoříte nový graf, jsou data tabulky grafu nastavena na výchozí hodnoty. Poté můžete data v listu upravit ručně.
Obvykle graf představuje složitá data (např. finanční analytici, vědecké analýzy), kde buňky jsou vypočítány z hodnot v jiných buňkách nebo z dalších dynamických dat. Ruční výpočet hodnoty buňky a její pevné zadání ztěžuje budoucí změny. Pokud změníte hodnotu určité buňky, všechny buňky na ní závislé budou také muset být aktualizovány. Navíc data v tabulce mohou záviset na datech z jiných tabulek, což vytváří složitý datový schéma prezentace, které je potřeba aktualizovat snadno a flexibilně.
Vzorec tabulky grafu v prezentaci je výraz, který automaticky vypočítá a aktualizuje data tabulky grafu. Vzorec v tabulce definuje logiku výpočtu dat pro určitou buňku nebo sadu buněk. Vzorec v tabulce je matematický nebo logický vzorec, který používá: odkazy na buňky, matematické funkce, logické operátory, aritmetické operátory, konverzní funkce, řetězcové konstanty atd. Definice vzorce je zapsána do buňky, která neobsahuje jednoduchou hodnotu. Vzorec vypočítá hodnotu a vrátí ji, pak je tato hodnota přiřazena buňce. Vzorce tabulky grafu v prezentacích jsou ve skutečnosti stejné jako Excelové vzorce a podporují stejné výchozí funkce, operátory a konstanty pro jejich implementaci.
V Aspose.Slides je tabulka grafu reprezentována vlastností Chart.ChartData.ChartDataWorkbook typu IChartDataWorkbook. Vzorec v tabulce lze přiřadit a změnit pomocí vlastnosti formula. Pro vzorce v Aspose.Slides je podporována následující funkcionalita:
- Logické konstanty
- Číselné konstanty
- Řetězcové konstanty
- Chybové konstanty
- Aritmetické operátory
- Porovnávací operátory
- Odkazy na buňky ve stylu A1
- Odkazy na buňky ve stylu R1C1
- Předdefinované funkce
Typicky tabulky ukládají poslední vypočítané hodnoty vzorců. Pokud po načtení prezentace nebyla data grafu změněna, vlastnost IChartDataCell.Value vrací tyto hodnoty při čtení. Pokud však byla data v tabulce změněna, při čtení vlastnosti ChartDataCell.Value vyvolá CellUnsupportedDataException kvůli nepodporovaným vzorcům. Důvodem je, že když jsou vzorce úspěšně parsovány, jsou určeny závislosti buněk a správnost posledních hodnot. Pokud vzorec nelze parsovat, nelze zaručit správnost hodnoty buňky.
Přidání vzorce tabulky grafu do prezentace
Nejprve přidejte graf s některými ukázkovými daty na první snímek nové prezentace pomocí add_chart. List grafu je automaticky vytvořen a lze k němu přistupovat pomocí vlastnosti chart_data_workbook:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 150, 150, 500, 300)
workbook = chart.chart_data.chart_data_workbook
# ...
Napišme některé hodnoty do buněk pomocí vlastnosti value typu Object, což znamená, že můžete nastavit libovolnou hodnotu:
workbook.get_cell(0, "F2").value = -2.5
workbook.get_cell(0, "G3").value = 6.3
workbook.get_cell(0, "H4").value = 3
Nyní pro zápis vzorce do buňky můžete použít vlastnost formula:
workbook.get_cell(0, "B2").formula = "F2+G3+H4+1"
Poznámka: IChartDataCell.Formula vlastnost se používá k nastavení odkazů na buňky ve stylu A1.
Pro nastavení odkazu na buňku r1c1_formula můžete použít vlastnost r1c1_formula:
workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]"
Poté použijte metodu calculate_formulas k vypočítání všech vzorců v sešitu a aktualizaci odpovídajících hodnot buněk:
workbook.calculate_formulas()
print(workbook.get_cell(0, "B2").value) # 7.8
print(workbook.get_cell(0, "C2").value) # 2.1
Logické konstanty
Můžete v buňkových vzorcích použít logické konstanty jako FALSE a TRUE:
Číselné konstanty
Čísla lze použít ve běžné nebo vědecké notaci k vytvoření vzorce tabulky grafu:
Řetězcové konstanty
Řetězcová (nebo literálová) konstanta je konkrétní hodnota, která se používá tak, jak je, a nemění se. Řetězcové konstanty mohou být: data, texty, čísla atd.:
Chybové konstanty
Někdy není možné vypočítat výsledek pomocí vzorce. V takovém případě se v buňce místo hodnoty zobrazí chybový kód. Každý typ chyby má specifický kód:
- #DIV/0! - vzorec se pokouší dělit nulou.
- #GETTING_DATA - může se zobrazit v buňce, zatímco její hodnota se ještě počítá.
- #N/A - informace chybí nebo není k dispozici. Důvody mohou být: buňky použité ve vzorci jsou prázdné, nadbytečný mezerník, překlep atd.
- #NAME? - určitou buňku nebo jiný objekt vzorce nelze najít podle jména.
- #NULL! - může se objevit při chybě ve vzorci, jako je: (,) nebo mezerník místo dvojtečky (:).
- #NUM! - číselná hodnota ve vzorci může být neplatná, příliš dlouhá nebo příliš malá atd.
- #REF! - neplatný odkaz na buňku.
- #VALUE! - neočekávaný typ hodnoty. Například řetězcová hodnota v buňce určené pro číslo.
Aritmetické operátory
Můžete ve vzorcích listu grafu použít všechny aritmetické operátory:
| Operátor | Význam | Příklad |
|---|---|---|
| + (plus sign) | Sčítání nebo unární plus | 2 + 3 |
| - (minus sign) | Odčítání nebo negace | 2 - 3 -3 |
| * (asterisk) | Násobení | 2 * 3 |
| / (forward slash) | Dělení | 2 / 3 |
| % (percent sign) | Procento | 30% |
| ^ (caret) | Umocnění | 2 ^ 3 |
Poznámka: Pro změnu pořadí vyhodnocení uzavřete část vzorce, která má být vypočítána první, do závorek.
Porovnávací operátory
Můžete porovnávat hodnoty buněk pomocí porovnávacích operátorů. Když jsou dvě hodnoty porovnány pomocí těchto operátorů, výsledek je logická hodnota TRUE nebo FALSE:
| Operátor | Význam | Příklad |
|---|---|---|
| = (equal sign) | Rovná se | A2 = 3 |
| <> (not equal sign) | Nerovná se | A2 <> 3 |
| > (greater than sign) | Větší než | A2 > 3 |
| >= (greater than or equal to sign) | Větší nebo rovno | A2 >= 3 |
| < (less than sign) | Menší než | A2 < 3 |
| <= (less than or equal to sign) | Menší nebo rovno | A2 <= 3 |
Odkazy na buňky ve stylu A1
Odkazy na buňky ve stylu A1 se používají v listách, kde sloupec má písmenový identifikátor (např. “A") a řádek má číselný identifikátor (např. “1"). Odkazy ve stylu A1 lze použít následujícím způsobem:
| Reference buňky | Příklad | Absolutní | Relativní | Smíšený |
|---|---|---|---|---|
| Cell | $A$2 | A2 | A$2 $A2 |
|
| Row | $2:$2 | 2:2 | - | |
| Column | $A:$A | A:A | - | |
| Range | $A$2:$C$4 | A2:C4 | $A$2:C4 A$2:$C4 |
Zde je příklad, jak použít odkaz na buňku ve stylu A1 ve vzorci:
Odkazy na buňky ve stylu R1C1
Odkazy na buňky ve stylu R1C1 se používají v listech, kde jak řádek, tak sloupec mají číselný identifikátor. Odkazy ve stylu R1C1 lze použít následujícím způsobem:
| Reference buňky | Příklad | Absolutní | Relativní | Smíšený |
|---|---|---|---|---|
| Cell | R2C3 | R[2]C[3] | R2C[3] R[2]C3 |
|
| Row | R2 | R[2] | - | |
| Column | C3 | C[3] | - | |
| Range | R2C3:R5C7 | R[2]C[3]:R[5]C[7] | R2C3:R[5]C[7] R[2]C3:R5C[7] |
Zde je příklad, jak použít odkaz na buňku ve stylu R1C1 ve vzorci:
Předdefinované funkce
Existují předdefinované funkce, které lze ve vzorcích použít pro zjednodušení jejich implementace. Tyto funkce zapouzdřují nejčastěji používané operace, například:
- ABS
- AVERAGE
- CEILING
- CHOOSE
- CONCAT
- CONCATENATE
- DATE (1900 date system)
- DAYS
- FIND
- FINDB
- IF
- INDEX (reference form)
- LOOKUP (vector form)
- MATCH (vector form)
- MAX
- SUM
- VLOOKUP
Často kladené otázky
Jsou externí soubory Excel podporovány jako zdroj dat pro graf s vzorci?
Ano. Aspose.Slides podporuje externí sešity jako zdroj dat grafu, což umožňuje používat vzorce z XLSX mimo prezentaci.
Mohou vzorce grafu odkazovat na listy ve stejném sešitu podle názvu listu?
Ano. Vzorce používají standardní model odkazování v Excelu, takže můžete odkazovat na jiné listy ve stejném sešitu nebo v externím sešitu. Pro externí odkazy uveďte cestu a název sešitu pomocí syntaxe Excelu.