Gestire le callout nei grafici delle presentazioni con Python
Panoramica
Questo articolo spiega come utilizzare le callout per le etichette dei dati dei grafici in Aspose.Slides. Mostra come usare la proprietà show_label_as_data_callout per visualizzare le etichette come callout, come configurare le impostazioni delle etichette correlate alle callout per un grafico a ciambella e nota che le callout e il loro aspetto vengono conservati quando le presentazioni vengono esportate in PDF, HTML5, SVG e formati di immagine raster.
Utilizzo delle Callout
È stata aggiunta la nuova proprietà show_label_as_data_callout alla classe DataLabelFormat, che determina se l’etichetta dei dati del grafico specificato verrà visualizzata come callout o come etichetta dei dati. Nell’esempio mostrato di seguito, abbiamo impostato le Callout.
import aspose.slides as slides
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(slides.charts.ChartType.PIE, 50, 50, 500, 400)
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
chart.chart_data.series[0].labels.default_data_label_format.show_label_as_data_callout = True
chart.chart_data.series[0].labels[2].data_label_format.show_label_as_data_callout = False
presentation.save("DisplayChartLabels_out.pptx", slides.export.SaveFormat.PPTX)
Impostare la Callout per il Grafico a Ciambella
Aspose.Slides per Python via .NET offre il supporto per impostare la forma della callout dell’etichetta dei dati di una serie per un grafico a ciambella. Di seguito è riportato un esempio.
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
slide = pres.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.DOUGHNUT, 10, 10, 500, 500, False)
workBook = chart.chart_data.chart_data_workbook
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
chart.has_legend = False
seriesIndex = 0
while seriesIndex < 15:
series = chart.chart_data.series.add(workBook.get_cell(0, 0, seriesIndex + 1, "SERIES " + str(seriesIndex)), chart.type)
series.explosion = 0
series.parent_series_group.doughnut_hole_size = 20
series.parent_series_group.first_slice_angle = 351
seriesIndex += 1
categoryIndex = 0
while categoryIndex < 15:
chart.chart_data.categories.add(workBook.get_cell(0, categoryIndex + 1, 0, "CATEGORY " + str(categoryIndex)))
i = 0
while i < len(chart.chart_data.series):
iCS = chart.chart_data.series[i]
dataPoint = iCS.data_points.add_data_point_for_doughnut_series(workBook.get_cell(0, categoryIndex + 1, i + 1, 1))
dataPoint.format.fill.fill_type = slides.FillType.SOLID
dataPoint.format.line.fill_format.fill_type = slides.FillType.SOLID
dataPoint.format.line.fill_format.solid_fill_color.color = draw.Color.white
dataPoint.format.line.width = 1
dataPoint.format.line.style = slides.LineStyle.SINGLE
dataPoint.format.line.dash_style = slides.LineDashStyle.SOLID
if i == len(chart.chart_data.series) - 1:
lbl = dataPoint.label
lbl.text_format.text_block_format.autofit_type = slides.TextAutofitType.SHAPE
lbl.data_label_format.text_format.portion_format.font_bold = 1
lbl.data_label_format.text_format.portion_format.latin_font = slides.FontData("DINPro-Bold")
lbl.data_label_format.text_format.portion_format.font_height = 12
lbl.data_label_format.text_format.portion_format.fill_format.fill_type = slides.FillType.SOLID
lbl.data_label_format.text_format.portion_format.fill_format.solid_fill_color.color = draw.Color.light_gray
lbl.data_label_format.format.line.fill_format.solid_fill_color.color = draw.Color.white
lbl.data_label_format.show_value = False
lbl.data_label_format.show_category_name = True
lbl.data_label_format.show_series_name = False
lbl.data_label_format.show_leader_lines = True
lbl.data_label_format.show_label_as_data_callout = False
chart.validate_chart_layout()
lbl.as_i_layoutable.x += 0.5
lbl.as_i_layoutable.y += 0.5
i += 1
categoryIndex +=1
pres.save("chart.pptx", slides.export.SaveFormat.PPTX)
FAQ
Le callout vengono conservate quando si converte una presentazione in PDF, HTML5, SVG o immagini?
Sì. Le callout fanno parte del rendering del grafico, quindi quando si esporta in PDF, HTML5, SVG o immagini raster, vengono conservate insieme alla formattazione della diapositiva.
I font personalizzati funzionano nelle callout e il loro aspetto può essere conservato durante l’esportazione?
Sì. Aspose.Slides supporta l’incorporamento dei font nella presentazione e gestisce l’incorporamento dei font durante le esportazioni, come ad esempio in PDF, garantendo che le callout mantengano lo stesso aspetto su sistemi diversi.