Hello tomk,

The following macro would hide a drawing object named 'Rectangle 1' on your worksheet. I believe this method would also apply to a 'diagram', since it is also a drawing object (or group of objects). If it is a group, you may have to adjust the code to include all objects in that diagram.
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range("D1"), Target) Is Nothing Then
        Exit Sub
    Else
        If Range("D1") = "Yes" Then
            Shapes("Rectangle 1").Visible = True
        Else
            Shapes("Rectangle 1").Visible = False
    
        End If
    End If
End Sub
This code is looking for any change in cell D1 only, and if D1's value changes to 'Yes' the diagram will appear, otherwise it will be hidden.