Condividi:        

grafico a linee base ore

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

grafico a linee base ore

Postdi wallace&gromit » 16/05/13 09:37

ciao,
volevo sapere se qualcuno ha già risolto questo problema:
voglio rappresentare una curva di dati registrati ogni 2 ore per vari mesi.
Se uso una dispersione XY ho difficoltà ad inserire le date corrette (il passo di 30 giorni non va bene per tutti i mesi)
Se invece uso un grafico a linee con barra tempo i giorni sono raggruppati su un punto unico e non posso scegliere le ore come base di rappresentazione.
Nell'allegato vedete i due grafici che ottengo (ognuno con un difetto che vorrei correggere).
http://www.filedropper.com/graficolineaaore2013b
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Sponsor
 


Re: grafico a linee base ore

Postdi wallace&gromit » 16/05/13 13:47

grazie PcBase per l'interesse,
quello da te proposto è un esempio molto bello ma non risponde al mio bisogno:
la mia banca dati è composta da valori riferiti a date e voglio che queste appaiano sulla scala delle x.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: grafico a linee base ore

Postdi Anthony47 » 16/05/13 15:06

Nel secondo grafico il problema si presenta in quanto hai dichiarato che l' asse X e' una scala di tempi; poiche' pero' i tuoi dati sono equamente spaziati puoi dichiararlo un normale Asse di categoria e ti ritroverai con la curva simile a quella del grafico a dispersione.
Se il tuo obiettivo e' inserire una etichetta sull' asse X quando fa comodo a te (come mi pare sia) potresti inserire una ulteriore colonna sui tuoi dati che userai come legenda dell' asse di categoria X; ad esempio con questa formula in P13 e sottostanti crei un elenco di date a blocchi di settimane.
Codice: Seleziona tutto
=SE(NUM.SETTIMANA(L13)<>NUM.SETTIMANA(P12);L13;P12)


Oppure crei una ulteriore colonna di dati da usare come marker; ad esempio con questa formula in P13 e sottostanti crei una serie di marker che indicheranno le settimane:
Codice: Seleziona tutto
=SE(NUM.SETTIMANA(L13)<>NUM.SETTIMANA(L12);MAX(O:O)+0,1;ERRORE.TIPO(7))

Aggiungerai poi questa serie nel tuo grafico e la rappresenterai come Istogramma, e somigliera' ad una griglia secondaria di tempo.

Spero che trovi qualche spunto utile...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: grafico a linee base ore

Postdi wallace&gromit » 16/05/13 17:56

grazie Anthony, forse siamo sulla buona strada, però sono ancora alle prime armi con excel 2013: se utilizzo il formato "Asse data" per le x vedo tutto il mio range con le barre verticali che segnano l'inizio di ogni settimana, però con i dati ancora raggruppati. Se passo alla visualizzazione "asse testo" vedo solo la prima parte dei dati (fino ad inizio marzo) e non trovo la possibilità di espandere la mia scala fino a maggio.
Inoltre non so come visualizzare le date corrispondenti alle barre verticali selezionate.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: grafico a linee base ore

Postdi Anthony47 » 17/05/13 01:59

Nelle mie prove sul secondo grafico, modificando Tipo asse da "Asse data" ad "Asse testo" la granularita' ritorna al livello normale, visualizzando una curva come da attese.
Ho aggiunto poi su colonna P di captazione il marker di settimane usando in P10 e sottostanti la formula
Codice: Seleziona tutto
=SE(NUM.SETTIMANA(L10)<>NUM.SETTIMANA(L9);MAX(O:O);ERRORE.TIPO(7))
e ho inserito questa serie nel grafico, impostando il formato grafico di questa serie come barre verticali.
Il risultato e' questo:
Immagine
Uploaded with ImageShack.us

In realta' le etichette sui weekmarker li ho dovuti impostare con questa macro:
Codice: Seleziona tutto
Sub SetS2Label()
Dim SerVal, myGraph As String, mySerie As Long
'
myGraph = "Grafico 7"    '<<<
mySerie = 2              '<<<
'
ActiveSheet.ChartObjects(myGraph).Activate
SerVal = ActiveChart.SeriesCollection(mySerie).Values
For I = LBound(SerVal) To UBound(SerVal)
Application.ScreenUpdating = False
DoEvents
    If IsError(SerVal(I)) Then
        ActiveChart.SeriesCollection(mySerie).Points(I).ApplyDataLabels AutoText:=True, _
            LegendKey:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
            ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
    ElseIf SerVal(I) <> 0 Then
        ActiveChart.SeriesCollection(mySerie).Points(I).ApplyDataLabels AutoText:=True, _
            LegendKey:=False, ShowSeriesName:=False, ShowCategoryName:=True, _
            ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
'
        ActiveChart.SeriesCollection(mySerie).Points(I).DataLabel.Select
        Selection.AutoScaleFont = True
        With Selection.Font
            .Size = 8
            .ColorIndex = xlAutomatic
            .Background = xlAutomatic
        End With
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .ReadingOrder = xlContext
            .Position = xlLabelPositionInsideEnd
            .Orientation = xlUpward
        End With
     Else
        ActiveChart.SeriesCollection(mySerie).Points(I).ApplyDataLabels AutoText:=True, _
            LegendKey:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
            ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
    End If
Next I
ActiveWindow.Visible = False
ActiveWindow.RangeSelection.Select
Application.ScreenUpdating = True
'
End Sub

Infatti da comandi si riesce a impostare (praticamente) la visualizzazione delle label su tutti i punti della serie, mentre a noi interessano solo i punti diversi da Zero.
Le istruzioni marcate <<< potrebbero dover essere personalizzate
Ho fatto le prove su XL2010, spero che la compatibilita' con 2013 sia alta.

Per quanto riguarda la visualizzazione parziale dei dati, se non riesci a trovare la quadra allora io suggerirei di creare 3 range dinamici corrispondenti alle etichette di asse X (colonna L), alla quota falda (colonna O) e al weekmarker (colonna P); userai poi questi intervalli come riferimenti alle serie da plottare.

Fai sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: grafico a linee base ore

Postdi wallace&gromit » 17/05/13 10:41

quasi ci siamo!
grazie mille Anthony, adesso vedo tutto bene, a parte il fatto che vorrei gestire il formato data delle etichette collegate alle barre inserite ma non riesco (vorrei togliere l'ora) addirittura in un primo tempo mi mostrava la data in forma numerica e non riuscivo a modificarla fino a quando ho fatto "reimposta secondo lo stile" seguito da annulla.

P.S. ancora una domanda: mi mostra l'ora 18:00, mentre nella colonna P il valore si trova sulla riga in cui l'ora è 00:00
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: grafico a linee base ore

Postdi Anthony47 » 17/05/13 12:18

Per togliere l' ora dalla label devi riformattare l' origine, cioe' captazione!L:L togliendo la visualizzazione dell' orario.

Prima di questa variazione controlla la storia del disallineamento: la cosa piu' probabile e' che la serie "weekmarker" sia disallineata con la serie usata come asse X (tipo la seconda impostata su =captazione!$L$10:$L$1000 e la prima invece su =captazione!$P$13:$P$1000)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: grafico a linee base ore

Postdi wallace&gromit » 17/05/13 13:10

perfetto! tutto ok, ancora grazie!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "grafico a linee base ore":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti

cron