Anpassa diagramdatatabeller i presentationer med Python
Översikt
Aspose.Slides for Python via Java låter dig visa ett diagramms datatabell och anpassa dess textformatering, kanter och förklaringsnycklar. Denna artikel förklarar hur du aktiverar tabellen, formaterar dess text, styr varje typ av kant och visar eller döljer förklaringsnycklar. Exemplen sparar de konfigurerade diagrammen i PPTX-filer.
Ange teckensnittsegenskaper
För att visa ett diagramms datatabell, skicka True till setDataTable. Använd getChartDataTable för att komma åt tabellen och konfigurera dess textformatering.
- Läs in presentationen med klassen Presentation.
- Lägg till ett grupperat stapeldiagram på den första bilden.
- Aktivera diagrammets datatabell.
- Aktivera fet text med setFontBold och skicka
20till setFontHeight för 20‑punkts text. - Spara den modifierade presentationen.
Följande exempel kräver test.pptx i arbetskatalogen med minst en bild. Det lägger till ett diagram med standarddata på position (50, 50), med en bredd på 600 punkter och en höjd på 400 punkter. Den sparade output.pptx innehåller diagrammet med dess datatabell aktiverad och de angivna teckensnittinställningarna tillämpade.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, NullableBool, Presentation, SaveFormat
presentation = Presentation("test.pptx")
try:
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
chart.setDataTable(True)
portion_format = chart.getChartDataTable().getTextFormat().getPortionFormat()
portion_format.setFontBold(NullableBool.True_)
portion_format.setFontHeight(20)
presentation.save("output.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Anpassa datatabellens kanter
Aktivera tabellen med Chart.setDataTable och få åtkomst till den via Chart.getChartDataTable. Du kan kontrollera tre typer av kanter oberoende:
- setBorderHorizontal styr horisontella cellkanter.
- setBorderVertical styr vertikala cellkanter.
- setBorderOutline styr tabellens yttre kant.
Skicka True till varje metod för att visa dess kanter eller False för att dölja dem. Följande exempel skapar ett grupperat stapeldiagram med standarddata, visar horisontella kanter och den yttre kanten, och döljer vertikala kanter. Det kräver ingen indatafil. Diagrammets position och storlek anges i punkter.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation, SaveFormat
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
chart.setDataTable(True)
data_table = chart.getChartDataTable()
data_table.setBorderHorizontal(True)
data_table.setBorderVertical(False)
data_table.setBorderOutline(True)
presentation.save("data-table-borders.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Jämförelsen nedan använder samma diagramdata och förklaringsnyckelinställning i alla fyra fallen. Med alla kanter aktiverade, inaktiverar varje återstående variant bara en kantinställning. Den nedre vänstra varianten matchar kantinställningarna i exemplet.

Visa eller dölja förklaringsnycklar
Förklaringsnycklar är små färgade markörer bredvid serienamnen i datatabellen. De hjälper läsarna att matcha varje tabellrad med en diagramserie. Skicka True till setShowLegendKey för att visa dessa markörer eller False för att dölja dem.
Diagrammets separata förklaring styrs av Chart.setLegend. Dessa inställningar är oberoende: att dölja den separata förklaringen döljer inte nycklarna i datatabellen, och att dölja tabellens nycklar döljer inte den separata förklaringen.
Följande exempel skapar ett diagram med standarddata, aktiverar dess datatabell och visar förklaringsnycklar i den samtidigt som den separata förklaringen döljs. Alla tabellkanter är uttryckligen aktiverade. Ingen inmatningspresentation krävs. För att enbart dölja tabellens nycklar, skicka False till setShowLegendKey.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation, SaveFormat
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
chart.setDataTable(True)
chart.setLegend(False)
data_table = chart.getChartDataTable()
data_table.setBorderHorizontal(True)
data_table.setBorderVertical(True)
data_table.setBorderOutline(True)
data_table.setShowLegendKey(True)
presentation.save("data-table-legend-keys.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Jämförelsen nedan visar samma tabell med förklaringsnycklar aktiverade och inaktiverade. Alla kanter förblir aktiverade, och diagrammets separata förklaring är dold i båda fallen.

Vanliga frågor
Kan jag visa förklaringsnycklar i ett diagramms datatabell?
Ja. Skicka True till setShowLegendKey för att visa förklaringsnycklar eller False för att dölja dem.
Kommer datatabellen att bevaras vid export av presentationen till PDF, HTML eller bilder?
Ja. Aspose.Slides renderar diagrammet och dess visade datatabell som en del av bilden vid export till PDF, HTML, eller images.
Kan jag arbeta med datatabeller i diagram som laddas från en mall?
Ja. För ett diagram som laddas från en befintlig presentation eller mall, använd hasDataTable och setDataTable för att kontrollera eller ändra om dess datatabell visas.
Hur kan jag hitta diagram som har en datatabell aktiverad?
Iterera genom formerna på varje bild, identifiera diagrammen och anropa deras hasDataTable metod. Ett värde av True indikerar att datatabellen är aktiverad.