Creare e gestire il grafico
Creazione di grafici
Creazione semplice di un grafico
È semplice creare un grafico con Aspose.Cells per Python via .NET con i seguenti codici di esempio:
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Obtaining the reference of the first worksheet | |
worksheet = workbook.worksheets[0] | |
# Adding sample values to cells | |
worksheet.cells.get("A2").put_value("Category1") | |
worksheet.cells.get("A3").put_value("Category2") | |
worksheet.cells.get("A4").put_value("Category3") | |
worksheet.cells.get("B1").put_value("Column1") | |
worksheet.cells.get("B2").put_value(4) | |
worksheet.cells.get("B3").put_value(20) | |
worksheet.cells.get("B4").put_value(50) | |
worksheet.cells.get("C1").put_value("Column2") | |
worksheet.cells.get("C2").put_value(50) | |
worksheet.cells.get("C3").put_value(100) | |
worksheet.cells.get("C4").put_value(150) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.COLUMN, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Setting chart data source as the range "A1:C4" | |
chart.set_chart_data_range("A1:C4", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Cose da sapere per creare un grafico
Prima di creare i grafici, è importante capire alcuni concetti di base che sono utili durante la creazione di grafici usando Aspose.Cells per Python via .NET.
Oggetti per la creazione dei grafici
Aspose.Cells per Python via .NET fornisce un insieme speciale di classi nello namespace Aspose.Cells.Charts usate per creare i grafici supportati da Aspose.Cells per Python via .NET. Queste classi sono utilizzate per creare oggetti di rappresentazione grafica, che agiscono come i blocchi costitutivi del grafico. Gli oggetti di rappresentazione grafica sono elencati di seguito:
- Serie, una singola serie di dati in un grafico.
- Asse, l’asse di un grafico.
- Grafico, un singolo grafico di Excel.
- Area del grafico, l’area del grafico nel foglio di lavoro.
- ChartDataTable, una tabella dati del grafico.
- ChartFrame, l’oggetto frame in un grafico.
- ChartPoint, un singolo punto in una serie in un grafico.
- ChartPointCollection, una raccolta che contiene tutti i punti di una serie.
- Grafici, una collezione di oggetti Chart.
- DataLabels, una collezione di tutti gli oggetti DataLabel per la serie specificata.
- FillFormat, formato di riempimento per una forma.
- Pavimento, il pavimento di un grafico 3D.
- Legenda, la legenda del grafico.
- Linea, la linea del grafico.
- SeriesCollection, una collezione di oggetti Series.
- TickLabels, le etichette contrassegnate associate ai contrassegni su un asse del grafico.
- Titolo, il titolo di un grafico o asse.
- Linea di tendenza, una linea di tendenza in un grafico.
- TrendlineCollection, una collezione di tutti gli oggetti Linea di tendenza per la serie di dati specificata.
- Pareti, le pareti di un grafico 3D.
Utilizzo di oggetti di tracciamento
Come già detto, tutti gli oggetti di tracciamento sono istanze delle rispettive classi e forniscono proprietà e metodi specifici per eseguire compiti specifici. Utilizzare gli oggetti di tracciamento per creare grafici.
Aggiungi qualsiasi tipo di grafico a un foglio di lavoro utilizzando la collezione charts. Ogni elemento nella collezione charts rappresenta un oggetto Chart. Un oggetto Chart racchiude tutti gli altri oggetti di tracciamento necessari per personalizzare l’aspetto del grafico. La sezione successiva mostra come utilizzare alcuni semplici oggetti di tracciamento per creare un grafico semplice.
Crea grafici usando Aspose.Cells per Python via .NET
Passaggi:
- Aggiungi alcuni dati alle celle del foglio di lavoro con il metodo put_value dell’oggetto Cell. Questo sarà utilizzato come origine dati per il grafico.
- Aggiungi un grafico al foglio di lavoro chiamando il metodo add della raccolta charts, incapsulato nell’oggetto Worksheet.
- Specifica il tipo di grafico con l’enumerazione ChartType. Ad esempio, l’esempio sotto usa il valore ChartType.PYRAMID come tipo di grafico.
- Accedi al nuovo oggetto Chart dalla raccolta charts passando il suo indice.
- Usa uno qualsiasi degli oggetti di grafici incapsulati nell’oggetto Chart per gestire il grafico. L’esempio sotto utilizza l’oggetto di grafici SeriesCollection per specificare l’origine dati del grafico.
Quando si aggiunge una fonte dati al grafico, l’origine dati può essere un intervallo di celle (come “A1:C3”), o una sequenza di celle non contigue (come “A1, A3, A5”), o una sequenza di valori (come “1,2,3”).
Questi passaggi generali ti consentono di creare qualsiasi tipo di grafico. Utilizza diversi oggetti di grafici per creare grafici diversi.
È possibile creare molti tipi diversi di grafici con Aspose.Cells per Python via .NET. Tutti i grafici standard supportati da Aspose.Cells per Python via .NET sono predefiniti in un enumeratore chiamato Aspose.Cells.Charts.ChartType.
I tipi di grafico predefiniti sono:
Tipi di grafico | Descrizione |
---|---|
Column | Rappresenta il grafico a colonne raggruppate |
ColumnStacked | Rappresenta il grafico a colonne sovrapposte |
Column100PercentStacked | Rappresenta il grafico a colonne sovrapposte al 100% |
Column3DClustered | Rappresenta il grafico a colonne raggruppate in 3D |
Column3DStacked | Rappresenta il grafico a colonne sovrapposte in 3D |
Column3D100PercentStacked | Rappresenta il grafico a colonne sovrapposte al 100% in 3D |
Column3D | Rappresenta il grafico a colonne 3D |
Bar | Rappresenta il grafico a barre raggruppate |
BarStacked | Rappresenta il grafico a barre sovrapposte |
Bar100PercentStacked | Rappresenta il grafico a barre sovrapposte al 100% |
Bar3DClustered | Rappresenta il grafico a barre raggruppate 3D |
Bar3DStacked | Rappresenta il grafico a barre sovrapposte 3D |
Bar3D100PercentStacked | Rappresenta il grafico a barre sovrapposte al 100% 3D |
Line | Rappresenta il grafico a linee |
LineStacked | Rappresenta il grafico a linee sovrapposte |
Line100PercentStacked | Rappresenta il grafico a linee sovrapposte al 100% |
LineWithDataMarkers | Rappresenta il grafico a linee con marcatori di dati |
LineStackedWithDataMarkers | Rappresenta il grafico a linee sovrapposte con marcatori di dati |
Line100PercentStackedWithDataMarkers | Rappresenta il grafico a linee sovrapposte al 100% con marcatori di dati |
Line3D | Rappresenta il grafico a linee 3D |
Pie | Rappresenta il grafico a torta |
Pie3D | Rappresenta il grafico a torta 3D |
PiePie | Rappresenta il grafico a torta delle torte |
PieExploded | Rappresenta il grafico a torta esplosa |
Pie3DExploded | Rappresenta il grafico a torta 3D esplosa |
PieBar | Rappresenta il grafico a barre delle torte |
Scatter | Rappresenta il grafico a dispersione |
ScatterConnectedByCurvesWithDataMarker | Rappresenta un grafico a dispersione collegato da curve, con indicatori di dati |
ScatterConnectedByCurvesWithoutDataMarker | Rappresenta un grafico a dispersione collegato da curve, senza indicatori di dati |
ScatterConnectedByLinesWithDataMarker | Rappresenta un grafico a dispersione collegato da linee, con indicatori di dati |
ScatterConnectedByLinesWithoutDataMarker | Rappresenta un grafico a dispersione collegato da linee, senza indicatori di dati |
Area | Rappresenta un grafico ad aree |
AreaStacked | Rappresenta un grafico ad aree sovrapposte |
Area100PercentStacked | Rappresenta un grafico ad aree 100% sovrapposte |
Area3D | Rappresenta un grafico ad aree 3D |
Area3DStacked | Rappresenta un grafico ad aree sovrapposte 3D |
Area3D100PercentStacked | Rappresenta un grafico ad aree 100% sovrapposte 3D |
Doughnut | Rappresenta un grafico a ciambella |
DoughnutExploded | Rappresenta un grafico a ciambella esplosa |
Radar | Rappresenta un grafico radar |
RadarWithDataMarkers | Rappresenta un grafico radar con indicatori di dati |
RadarFilled | Rappresenta un grafico radar riempito |
Surface3D | Rappresenta un grafico a superficie 3D |
SurfaceWireframe3D | Rappresenta un grafico a superficie in filo 3D |
SurfaceContour | Rappresenta un grafico a contorni |
SurfaceContourWireframe | Rappresenta un grafico a contorni in filo |
Bubble | Rappresenta il grafico a bolle |
Bubble3D | Rappresenta il grafico a bolle in 3D |
Cylinder | Rappresenta il grafico a cilindro |
CylinderStacked | Rappresenta il grafico a cilindro sovrapposto |
Cylinder100PercentStacked | Rappresenta il grafico a cilindro sovrapposto al 100% |
CylindericalBar | Rappresenta il grafico a barre cilindriche |
CylindericalBarStacked | Rappresenta il grafico a barre cilindriche sovrapposte |
CylindericalBar100PercentStacked | Rappresenta il grafico a barre cilindriche sovrapposte al 100% |
CylindericalColumn3D | Rappresenta il grafico a colonne cilindriche in 3D |
Cone | Rappresenta il grafico a cono |
ConeStacked | Rappresenta il grafico a cono sovrapposto |
Cone100PercentStacked | Rappresenta il grafico a cono sovrapposto al 100% |
ConicalBar | Rappresenta il grafico a barre coniche |
ConicalBarStacked | Rappresenta il grafico a barre coniche sovrapposte |
ConicalBar100PercentStacked | Rappresenta il grafico a barre coniche sovrapposte al 100% |
ConicalColumn3D | Rappresenta il grafico a colonne coniche in 3D |
Pyramid | Rappresenta il grafico a piramide |
PyramidStacked | Rappresenta il grafico a piramide sovrapposta |
Pyramid100PercentStacked | Rappresenta il grafico a piramide sovrapposta al 100% |
PyramidBar | Rappresenta il grafico a barre piramidali |
PyramidBarStacked | Rappresenta il grafico a barre a piramide sovrapposte |
PyramidBar100PercentStacked | Rappresenta il grafico a barre a piramide 100% sovrapposte |
PyramidColumn3D | Rappresenta il grafico a colonne a piramide 3D |
Quando si assegna un intervallo di celle come origine dati, è possibile impostare solo l’intervallo da in alto a sinistra a in basso a destra. Ad esempio, “A1:C3” è valido mentre “C3:A1” non è valido.
|
Grafico a piramide
Quando il codice di esempio viene eseguito, viene aggiunto un grafico a piramide al foglio di lavoro.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding sample values to cells | |
worksheet.cells.get("A1").put_value(50) | |
worksheet.cells.get("A2").put_value(100) | |
worksheet.cells.get("A3").put_value(150) | |
worksheet.cells.get("B1").put_value(4) | |
worksheet.cells.get("B2").put_value(20) | |
worksheet.cells.get("B3").put_value(50) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.PYRAMID, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.n_series.add("A1:B3", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Grafico a linee
Nell’esempio precedente, semplicemente cambiando il ChartType in Line si crea un grafico a linee. La fonte completa è fornita di seguito. Quando il codice viene eseguito, viene aggiunto un grafico a linee al foglio di lavoro.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding sample values to cells | |
worksheet.cells.get("A1").put_value(50) | |
worksheet.cells.get("A2").put_value(100) | |
worksheet.cells.get("A3").put_value(150) | |
worksheet.cells.get("B1").put_value(4) | |
worksheet.cells.get("B2").put_value(20) | |
worksheet.cells.get("B3").put_value(50) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.LINE, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.n_series.add("A1:B3", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Grafico a bolle
Per creare un grafico a bolle, il ChartType deve essere impostato su ChartType.BUBBLE e alcune proprietà aggiuntive come BubbleSizes, Values & XValues devono essere impostate di conseguenza. Dopo aver eseguito il seguente codice, viene aggiunto un grafico a bolle al foglio di lavoro.
Grafico a linee con marcatori di dati
Per creare un grafico a linee con marcatori di dati, ChartType deve essere impostato su ChartType.LineWithDataMarkers e alcune proprietà aggiuntive come area di sfondo, marcatori di serie, valori & XValues devono essere impostate di conseguenza. Dopo aver eseguito il seguente codice, viene aggiunto un grafico a linee con marcatori di dati al foglio di lavoro.
from aspose.cells import SaveFormat, Workbook | |
from aspose.cells.charts import ChartType, FormattingType | |
from aspose.pydrawing import Color | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate a workbook | |
workbook = Workbook() | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Set columns title | |
worksheet.cells.get(0, 0).value = "X" | |
worksheet.cells.get(0, 1).value = "Y" | |
# Create random data and save in the cells | |
for i in range(1, 21): | |
worksheet.cells.get(i, 0).value = i | |
worksheet.cells.get(i, 1).value = 0.8 | |
for i in range(21, 41): | |
worksheet.cells.get(i, 0).value = i - 20 | |
worksheet.cells.get(i, 1).value = 0.9 | |
# Add a chart to the worksheet | |
idx = worksheet.charts.add(ChartType.LINE_WITH_DATA_MARKERS, 1, 3, 20, 20) | |
# Access the newly created chart | |
chart = worksheet.charts[idx] | |
# Set chart style | |
chart.style = 3 | |
# Set autoscaling value to true | |
chart.auto_scaling = True | |
# Set foreground color white | |
chart.plot_area.area.foreground_color = Color.white | |
# Set Properties of chart title | |
chart.title.text = "Sample Chart" | |
# Set chart type | |
chart.type = ChartType.LINE_WITH_DATA_MARKERS | |
# Set Properties of categoryaxis title | |
chart.category_axis.title.text = "Units" | |
# Set Properties of nseries | |
s2_idx = chart.n_series.add("A2: A2", True) | |
s3_idx = chart.n_series.add("A22: A22", True) | |
# Set IsColorVaried to true for varied points color | |
chart.n_series.is_color_varied = True | |
# Set properties of background area and series markers | |
chart.n_series[s2_idx].area.formatting = FormattingType.CUSTOM | |
chart.n_series[s2_idx].marker.area.foreground_color = Color.yellow | |
chart.n_series[s2_idx].marker.border.is_visible = False | |
# Set X and Y values of series chart | |
chart.n_series[s2_idx].x_values = "A2: A21" | |
chart.n_series[s2_idx].values = "B2: B21" | |
# Set properties of background area and series markers | |
chart.n_series[s3_idx].area.formatting = FormattingType.CUSTOM | |
chart.n_series[s3_idx].marker.area.foreground_color = Color.green | |
chart.n_series[s3_idx].marker.border.is_visible = False | |
# Set X and Y values of series chart | |
chart.n_series[s3_idx].x_values = "A22: A41" | |
chart.n_series[s3_idx].values = "B22: B41" | |
# Save the workbook | |
workbook.save(outputDir + r"LineWithDataMarkerChart.xlsx", SaveFormat.XLSX) |
Argomenti avanzati
- Lettura e manipolazione dei grafici di Excel 2016
- Gestisci gli assi dei grafici di Excel
- Impostazione dell’aspetto del grafico
- Tipi di Grafico
- Personalizzazione di Grafici
- Imposta origine dati per il grafico
- Gestisci le etichette dati dei grafici di Excel
- Genera grafico mediante l’elaborazione di marcatori smart
- Ottieni il foglio di lavoro del grafico
- Gestisci la leggenda dei grafici di Excel
- Manipolare posizione, dimensione e progettazione del grafico
- Creazione di un grafico a torta con linee guida
- Forme nei grafici
- Gestire i titoli dei grafici di Excel
- Rendering del grafico
- Ottieni il testo dell’equazione della retta di tendenza del grafico