• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

spreidingsgrafiek gedeeltelijk opvullen

Status
Niet open voor verdere reacties.

janneman2011

Gebruiker
Lid geworden
11 okt 2011
Berichten
81
Beste
Ik heb een scatterplot (spreidingsgrafiek) gemaakt waarvan ik de waarden graag wil categoriseren.
Op de X-as staat de datum (bv van 1 jan t/m 31 december) en op de y-as komen de waarden die ik graag wil categoriseren.
De waarden in de y-as zijn waarden van 100 t/m 1000
Nu wil ik de waarden van 0 tot 350 als goed ervaren (kleur groen)
Van 350 tot 650 als risicowaarde (kleur oranje)
Boven de 650 als gevaar (kleur rood)
In de bijgevoegde voorbeeld heb ik zelf een figuur in de grafiek geplaatst met de omtrek in de kleur die ik graag wil, maar is dit ook anders mogelijk?
Bijvoorbeeld dat een heel blok gevuld is, zie bijlage

alvast bedankt

Jan
 

Bijlagen

Probeer dit macrootje eens: (hiermee krijgen de punten een kleurtje)

Code:
Sub ChartColors()
Dim x, cht As Chart, mycolor As Long
    Set cht = Sheet1.ChartObjects("Grafiek 1").Chart
    x = cht.FullSeriesCollection(1).Points.Parent.Values
        For i = 1 To UBound(x)
            Select Case x(i)
                Case 0 To 349.99: mycolor = 5296274
                Case 350 To 650: mycolor = 49407
                Case Is > 650: mycolor = 255
                Case Else: mycolor = 15773696
            End Select
       cht.FullSeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = mycolor
    Next
End Sub
 
Hoi Eric

Bedankt voor je reactie.
Ik ben helaas niet zo handig met macro's...
Ik probeer de macro toe te voegen, maar dan komt hij met een foutmelding
Zal wel iets heel kleins zijn, maar ik ben op dat gebied niet zo handig....


Set cht = Sheet1.ChartObjects("Grafiek 1").Chart klopt niet; is geel gearceerd



Sub ChartColors()
Dim x, cht As Chart, mycolor As Long
Set cht = Sheet1.ChartObjects("Grafiek 1").Chart
x = cht.FullSeriesCollection(1).Points.Parent.Values
For i = 1 To UBound(x)
Select Case x(i)
Case 0 To 349.99: mycolor = 5296274
Case 350 To 650: mycolor = 49407
Case Is > 650: mycolor = 255
Case Else: mycolor = 15773696
End Select
cht.FullSeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = mycolor
Next
End Sub
 
Hoi Eric

Het is niet helemaal wat ik zelf in gedachten had, maar dit werkt ook prima!!!
heel erg bedankt!!!

groeten Jan
 
Beste excel experts

Eric heeft mij heel erg geholpen met zijn macro, alleen loop ik nu tegen een nieuw probleem aan, of eigenlijk 2.
Ik wil mijn getallenreeks aanpassen of eigenlijk uitbreiden.
Dus meer datums en meer waarden.
Als ik dit doe en laat opnieuw de macro lopen, neemt hij niet automatisch de nieuwe waarden mee.
Uiteindelijk kom ik wel tot het gewenste eindresultaat, maar ik zat me af te vragen of de macro zo kan worden aangepast dat hij altijd alle waarden pakt (inclusief te extra toegevoegde) en niet alleen de oude selectie.
In de bijlage heb ik extra waarden toegevoegd, die dus niet automatisch worden weergegeven in de spreidingsgrafiek.
Is er een mogelijkheid om de macro aan te passen?

vraag 2:
Deze gegevens zijn van een specifieke kamer ( kamer 1)
Ik wil hetzelfde doen met andere kamers, kamer 2, kamer 3, kamer 4 en kamer 5
Kan ik gewoon het tabblad van kamer 1 kopiëren naar een nieuw tabblad, de gegevens aanpassen en de macro opnieuw te laten draaien?
Ik heb het gisteren geprobeerd maar dan krijg ik een error 424. Doe ik iets verkeerd?
 

Bijlagen

vraag 1:

Maak een tabel van jou data, vervolgens koppel je die tabel aan de grafiek (ipv een vaste range)

vraag 2:

In de macro staat een stukje met specifieke sheet en grafiek benoemd:
Code:
Set cht = Sheet1.ChartObjects("Grafiek 1").Chart

Dit moet je dan zodanig aanpassen per grafiek en sheet op jouw nieuwe werkbladen.
als de code steeds achter een knop op de sheet zit kom je hier wel mee weg:

Code:
Set cht = ActiveSheet.ChartObjects(1).Chart
 
Beste Eric

Wederom erg bedankt voor je hulp.
Vraag 2 is beantwoord :thumb:
Vraag1:
Ik heb er nu een tabel van gemaakt (bijlage), maar hoe koppel je ik de tabel nu aan de grafiek?
Sorry, zal vast heel simpel zijn, maar ik kom er niet uit.

groeten jan
 

Bijlagen

zorg er allereerst voor dat jouw tabel(len) niet heel kolom A en B beslaan,
gewoon precies tot hoever je bent qua data, wanneer je een datum toevoegt wordt de Tabel automatisch groter en jouw punten op de grafiek ook

dan rechtermuis op grafiek, "Select Data" en de Tabel selecteren
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan