Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    22

    [VB6] mettere i numeri sui grafici creati con mschart

    salve a tutti
    ho una serie di dati che sono riuscito
    a riportare in un grafico con tanto di
    legenda.
    siccome i risultati non sono molto
    chiari vorrei inserire sopra l'istogramma
    il dato numerico, al fine di rendere più
    comprensibili i dati
    grazie in anticipo a tutti

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    mirko80 se il grafico non rende chiaro un andamento allora non svolge la sua funzione primaria che è quella visiva. Non è che inserendo delle cifre queste contribuiscano a chiarire le idee al lettore, perchè tanto varrebbe leggere una tabella di numeri; inoltre se vi sono rappresentati diversi andamenti creano ulteriore confusione.
    Ti consiglio quindi di utilizzare l'evento PointSelected che consente di visualizzare il valore di un particolare dato di una serie, dopo averlo selezionato. Il valore del dato viene mostrato nell' etichetta LblDataVal posizionata sotto l'area del grafico, come segue:
    codice:
    Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer)
    On Error GoTo ErrHandler
        
    ' Azzera la stringa:
        FrmAmmort.LblDataVal.Caption = ""
        
        With FrmAmmort.LblDataVal
            .BackStyle = 1
            .BorderStyle = 1
            .BackColor = &HC0FFFF
            .Visible = True
        End With
        
        FrmAmmort.MSChart1.Column = Series
        FrmAmmort.MSChart1.Row = Series
        FrmAmmort.MSChart1.Row = DataPoint
            
        If dblDim2 > 0 And dblDim3 > 0 And dblDimenT > 0 And Ctr(FrmAmmort.MSChart1.Data) > 0 Then
            ' Variabile pubblica dblDimen nel modulo Graf:
            Select Case Series = 1 Or Series = 2 Or Series = 3
                Case Series = 1
                    FrmAmmort.LblDataVal.Caption = "Totale interessi" & Space(1) & "=" & Space(1) & "Euro" & Space(1) & _
                    Format((FrmAmmort.MSChart1.Data * dblDimenT), "#,##0") & Space(1) & "pari al" & Space(1) & Format((dblDim3 / dblDim2) * 100, "#,##0.00") & "%" & Space(1) & "del capitale di prestito."
                Case Series = 2
                    FrmAmmort.LblDataVal.Caption = "Capitale di prestito" & Space(1) & "=" & Space(1) & "Euro" & Space(1) & Format((FrmAmmort.MSChart1.Data * dblDimenT), "#,##0")
                Case Series = 3
                    FrmAmmort.LblDataVal.Caption = "Montante (capitale + interessi)" & Space(1) & "=" & Space(1) & "Euro" & Space(1) & Format((FrmAmmort.MSChart1.Data * dblDimenT), "#,##0")
            End Select
        End If
        
    ErrHandler:
    If Err.Number <> 0 Then
        ' Azzera la stringa:
        FrmAmmort.LblDataVal.Caption = ""
        FrmAmmort.LblDataVal.Visible = False
        MsgBox "Errore: " & Err.Number & " " & Err.Description & "." & Chr(13) _
        & "Controllare che i dati per il grafico siano presenti e riprovare.", vbCritical, "...."
        Err.Clear
        Exit Sub
    End If
    
    End Sub
    Ciao.
    LM

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    22
    ti ringrazio
    comunque il problema non era che il grafico era poco leggibile
    il fatto è che non si riesce a quantificare esattamente il valore
    visto che l'intervallo dei valori sull'asse è un pò troppo grande

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.