1. Manualmente in Excel (GUI)
* Questo è il più semplice, se stai lavorando direttamente all'interno dell'applicazione Excel.
1. Crea il grafico: Seleziona i dati che si desidera grattare. Vai alla scheda "Inserisci" e scegli il tipo di grafico desiderato (ad es. Colonna, Pie, Line). Il grafico apparirà inizialmente incorporato nel foglio corrente.
2. Sposta il grafico in nuovo foglio:
* Metodo 1 (clic destro): Fare clic con il pulsante destro del mouse sull'area del grafico. Scegli "Sposta grafico ...".
* Metodo 2 (scheda Design del grafico): Seleziona il grafico. La scheda "Design del grafico" apparirà nel nastro. Fai clic sul pulsante "Sposta grafico" (di solito situato sul lato destro).
3. Sposta il dialogo del grafico: Nella finestra di dialogo "Sposta grafico", selezionare "Nuovo foglio:" e facoltativamente dare un nome al foglio. Fai clic su "OK".
2. VBA (Visual Basic per applicazioni)
* Questo metodo viene utilizzato quando si desidera automatizzare la creazione e il posizionamento del grafico utilizzando il codice VBA all'interno della cartella di lavoro di Excel.
`` `VBA
Sub createchartonnewsheet ()
Dim cht come grafico
Dim rng come gamma
Dim Newsht come foglio di lavoro
'Definisci l'intervallo di dati
Imposta rng =thisworkbook.sheets ("Sheet1"). Range ("A1:B10") Regola nome e gamma del foglio
'Crea un nuovo foglio di lavoro per tenere il grafico
Imposta newsht =thisworkbook.sheets.add (dopo:=thisworkbook.sheets (thiswork.heets.count)) 'aggiunge la foglio alla fine
'In alternativa, aggiungi il foglio all'inizio:
'Set newsht =thisworkbook.sheets.add (prima:=thisworkbook.sheets (1))
'Crea il grafico sul nuovo foglio
Imposta cht =charts.add
Con cht
.ChartType =xlColumnClustered 'Regola grafico Tipo
.Setsourcedata Fonte:=rng
.Location dove:=xllocationasNewsheet, nome:=NEWSHT.Name 'Posizione imposta
.Haslegend =true 'Esempio:includi una leggenda
.Charttitle.Text ="My Chart Titoli" 'Esempio:Imposta il titolo
'Ulteriori opzioni di personalizzazione del grafico possono essere aggiunte qui
Terminare con
'Facoltativo:rinominare il nuovo foglio (già eseguito sopra attraverso la posizione)
'Newsht.name ="myChartSheet"
'Facoltativo:attiva il foglio del grafico
Newsht.Activate
'Pulisci le variabili dell'oggetto
Imposta cht =niente
Imposta rng =niente
Imposta Newsht =niente
Fine sub
`` `
* Spiegazione:
* `Dim cht come grafico ':dichiara una variabile per tenere l'oggetto grafico.
* `Dim rng come intervallo`:dichiara una variabile per trattenere l'intervallo di dati.
* `Dim Newsht come foglio di lavoro ':dichiara una variabile per contenere il nuovo foglio di lavoro.
* `Set rng =thisworkbook.sheets (" sheet1 "). Intervallo (" a1:b10 ")`:definisce l'intervallo di dati da utilizzare per il grafico. IMPORTANTE:modifica `" Sheet1 "` e `" A1:B10 "` al nome del foglio e dell'intervallo di dati effettivi.
* `Set newsht =thisworkbook.sheets.add (dopo:=thisworkbook.sheets (thiswork.heets.count))`:aggiunge un nuovo foglio di lavoro * dopo * l'ultimo foglio nella cartella di lavoro. Puoi usare `prima:=thisworkbook.sheets (1)` per aggiungerlo come foglio * primo *.
* `SET CHT =CHARTS.Add`:crea un nuovo oggetto grafico. Questa è la chiave. `Charts.add` crea un grafico nella raccolta * ChartObjects *.
* `.ChartType =xlColumnClusterEd`:imposta il tipo di grafico. Usa la costante `xlchartType` appropriata (ad esempio,` xlline`, `xlpie`,` xlbarclustered`).
* `.Setsourcedata Fonte:=rng`:imposta l'origine dati per il grafico.
* `.Location dove:=xllocationasnewsheet, nome:=newsht.name`:questa è la linea cruciale. Sposta il grafico in un nuovo foglio.
* `Dove:=xllocationasnewsheet`:specifica che il grafico deve essere posizionato su un nuovo foglio.
* `Nome:=newsht.name`:imposta il nome del nuovo foglio sul nome del grafico.
* Considerazioni importanti per VBA:
* Gestione degli errori: Aggiungi la gestione degli errori (ad esempio, `su Error Goto ErrorHandler`) per rendere il tuo codice più robusto. Cosa succede se il foglio specificato non esiste o l'intervallo non è valido?
* Variabili oggetto: Pulisci sempre le variabili dell'oggetto impostandole su "Niente" per rilasciare la memoria.
* Personalizzazione del grafico: Le linee `.Charttitle.text`,` .haslegend`, ecc. Sono solo esempi. VBA offre ampie opzioni per personalizzare ogni aspetto di un grafico (assi, etichette, formattazione in serie, ecc.). Esplora il modello Object VBA Excel per i grafici.
* Sicurezza: Se la tua cartella di lavoro contiene il codice VBA, probabilmente dovrà essere salvato come cartella di lavoro abilitata macro (`.xlsm`). Gli utenti dovranno anche abilitare le macro in Excel.
3. Python con panda e openpyxl (o xlsxwriter)
* Questo viene utilizzato quando si lavora con i dati in Python e vuoi creare grafici Excel.
`` `Python
Importa panda come PD
Importa OpenPyxl
Dalla cartella di lavoro di OpenPyxl Import
da openpyxl.chart import barchart, riferimento, serie
# Crea alcuni dati di esempio
data ={'categoria':['a', 'b', 'c', 'd'],
'Value':[10, 15, 13, 18]}
df =pd.dataframe (dati)
# Crea uno scrittore di Pandas Excel usando OpenPyXL come motore
writer =pd.excelWriter ("grafico_example.xlsx", motore ='openpyxl')
# Scrivi il frame dati su un foglio denominato "dati"
df.to_excel (writer, sheet_name ='data', index =false)
# Ottieni la cartella di lavoro e gli oggetti del foglio di lavoro
libro di lavoro =writer.book
Worksheet =Writer.Sheets ['Data']
# Crea un barchart
grafico =barchart ()
Chart.Type ="Col"
Chart.style =10
Chart.title ="Vendite per categoria"
grafico.y_axis.title ='valore'
grafico.x_axis.title ='categoria'
# Definisci l'intervallo di dati (esclusa la riga dell'intestazione)
data_range =riferimento (foglio di lavoro, min_col =2, min_row =2, max_col =2, max_row =len (data ['categoria'] + 1) #Column B (valori)
Categories =Reference (foglio di lavoro, min_col =1, min_row =2, max_col =1, max_row =len (data ['category']) + 1) #Column A (categorie), skip header
# Aggiungi la serie di dati al grafico
serie =serie (data_range, title_from_data =false) #use .title ="" per impostare manualmente il titolo
Chart.Append (serie)
Chart.set_categories (categorie)
# Crea un nuovo foglio di lavoro per il grafico
Chart_Sheet =workbook.create_sheet ("grafico")
# Aggiungi il grafico al nuovo foglio
CHART_SHEET.Add_Chart (grafico, "A1") # Regola la posizione della cella secondo necessità
# Salva il file Excel
writer.close ()
Print ("Excel File 'Chart_Example.xlsx" creato con grafico su un nuovo foglio. ")
`` `
* Spiegazione:
1. Librarie di importazione: Importare `Pandas`,` OpenPyxl` e i moduli necessari da `OpenPyxl.Chart`. Assicurati di avere queste librerie installate (`Pip Installa Pandas OpenPyxl`).
2. Crea dati (panda): Crea i tuoi dati utilizzando i dati di dati Pandas.
3. Crea Writer Excel: Crea un oggetto `pd.excelwriter`, specificando` openpyxl` come motore. Ciò consente di utilizzare la funzionalità `OpenPyxl` per creare il grafico.
4. Scrivi i dati sul foglio: Scrivi il frame dati su un foglio nel file Excel.
5. Ottieni oggetti di lavoro e foglio di lavoro: Accedi agli oggetti "Workbook" e "foglio di lavoro" da "Excelwriter".
6. Crea grafico: Crea un oggetto grafico (ad es. `Barchart`).
7. Definisci gli intervalli di dati (riferimento): Utilizzare gli oggetti `OpenPyxl.Chart.Reference` per definire l'intervallo di dati per il grafico. Presta un'attenta attenzione ai parametri `min_col`,` min_row`, `max_col` e` max_row`.
8. Crea serie: Crea un oggetto `serie" dall'intervallo di dati. La `Series` rappresenta i punti dati da tracciare.
9. Serie di appendici al grafico: Aggiungi la `serie` al` grafico '.
10. Set categorie Imposta le categorie
11. Crea nuovo foglio: Crea un nuovo foglio di lavoro per il grafico usando `workbook.create_sheet (" grafico ")`. Il nome del nuovo foglio è "grafico".
12. Aggiungi grafico al foglio: Utilizzare `Chart_Sheet.Add_Chart (grafico," A1 ")` per aggiungere il grafico al nuovo foglio. L'argomento `" A1 "` specifica la cella in alto a sinistra in cui verrà posizionato il grafico. Regola questo se necessario.
13. Salva libro di lavoro: Salva il file Excel usando `writer.close ()`.
* Punti chiave per Python:
* Libraries: * Devi * installare le librerie necessarie:`PIP Installa Pandas OpenPyxl` (o` Pip Installa XLSXWRITER` se si sceglie quel motore).
* OpenPyxl vs. xlsxwriter:
* `OpenPyxl`:può leggere e scrivere file Excel esistenti. Più flessibile per la formattazione complessa.
* `Xlsxwriter`:eccellente per la creazione di * nuovi * file excel, in particolare quelli grandi. Spesso più veloce di `OpenPyxl` per la scrittura. Tuttavia, non può modificare i file esistenti. La differenza principale per questo problema è che `xlsxwriter` può creare solo grafici sul foglio in cui si trovano i dati.
* Intervalli di dati: Gli oggetti "Riferimenti" sono cruciali. Assicurati che i valori `min_col`,` min_row`, `max_col` e` max_row` siano corretti per i dati. Ricorda che le colonne e le righe di Excel sono basate su 1, non basate su 0 come Python List.
* Personalizzazione del grafico: `OpenPyxl` e` xlsxwriter` hanno ampie opzioni per personalizzare i grafici (titoli, assi, colori, etichette, ecc.). Consultare la loro documentazione.
In sintesi:
* Se lo stai facendo manualmente in Excel, la finestra di dialogo "Sposta grafico" è la più semplice.
* Se stai automatizzando con VBA, la proprietà `.Location` è la chiave.
* Se stai usando Python, `OpenPyxl` e` xlsxwriter` richiedono più codice, ma ti danno potenti opzioni di personalizzazione del grafico. `OpenPyxl` è richiesto quando si modifica un file Excel esistente.
Scegli il metodo che si adatta meglio alle tue esigenze e all'ambiente in cui stai lavorando. Assicurati di regolare gli esempi di codice per abbinare i dati specifici, i nomi dei fogli e il tipo di grafico desiderati. Ricorda di installare le librerie necessarie se si utilizza Python.
software © www.354353.com