[EXCEL] Grafiek: meerdere Y waarden per X legenda

Pagina: 1
Acties:
  • 2.564 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 15:48

superduper

Z3_3.0 Woeiiii

Topicstarter
Ik had toch sterk gehoopt dat in Office 2007 dat het volgende grafiektype snel mogelijk was:

Als ik bij een bepaalde X waarde (zeg januari) 30 meetwaardes heb staan en die allemaal boven elkaar wil plotten kan ik dat dan doen zonder de omslachtige weg van 30 series en dan alle punten met de hand de juiste kleuren geven?

Het gaat om een aanzienlijke set en daar moeten punten wolken boven elke X komen.


Sowieso is het aantal grafiektypen niet echt uitgebreider geworden in Office 2007.. Dat valt me wat tegen eigenlijk.

Iemand die een truuk weet?

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 11:04
Gewoon een X-Y scatter toch? Met de maanden (misschien moet je nog een 1-12 hulpkolom aanmaken) als x-as en de meetwaardes als Y.

Acties:
  • 0 Henk 'm!

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 15:48

superduper

Z3_3.0 Woeiiii

Topicstarter
onkl schreef op vrijdag 16 februari 2007 @ 20:51:
Gewoon een X-Y scatter toch? Met de maanden (misschien moet je nog een 1-12 hulpkolom aanmaken) als x-as en de meetwaardes als Y.
Nee, dat werkt dus juist niet goed. Je kan het wel zo krijgen, maar dan krijgen alle meetwaarden een aparte serie toegewezen, met elk een eigen marker (blokje, rondje etc). Die moet je dan allemaal met de hand weer terugzetten naar dezelfde marker.

Bovendien zet excel nog steeds geen woorden op de x as, maar kan hij alleen maar nummers er neer zetten.

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 11:04
Ach so.
Zet alle meetwaardes onder elkaar met de maand ernaast. Dus: kolom A: maandnummer. Kolom B: meetwaardes. Dan heb je dubbele X waardes, maar dat maakt Excel bij een XY scatter niet uit.
En de aslabels kan je ergens in de grafiekeigenschappen (rechtermuis op de as) weer aanpassen.

Acties:
  • 0 Henk 'm!

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 15:48

superduper

Z3_3.0 Woeiiii

Topicstarter
onkl schreef op zondag 18 februari 2007 @ 22:49:
Ach so.
Zet alle meetwaardes onder elkaar met de maand ernaast. Dus: kolom A: maandnummer. Kolom B: meetwaardes. Dan heb je dubbele X waardes, maar dat maakt Excel bij een XY scatter niet uit.
En de aslabels kan je ergens in de grafiekeigenschappen (rechtermuis op de as) weer aanpassen.
Bedankt voor het meedenken, maar je oplossing werkt niet. Excel negeert de opgegeven X-as labels, en genereert een oplopende serie zelf, waardoor je meetpunten over meerdere X waardes worden uitgespreid.

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 11:04
Als ik even een testje draai krijg ik toch echt zo'n grafiek:Afbeeldingslocatie: http://farm1.static.flickr.com/160/395176273_c9c0a54ebe_d.jpg
(Klikbaar)
Is dit niet wat je bedoelt, of is dit niet wat je krijgt?

Acties:
  • 0 Henk 'm!

  • brekki
  • Registratie: Januari 2006
  • Laatst online: 08-06 20:39
Maak eerst een "Line Chart" maakt, met op X de maanden en op Y de waarden. (dan heb je dus veel series, en krijg je zo'n lelijke chart met verschillende bolletjes en lijntjes)

Als je dan de grafiek selecteerd en deze macro runt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub DezelfdePuntjes()

    Dim i As Integer
    
    With ActiveChart.Legend
    For i = 1 To .LegendEntries.Count
    .LegendEntries(i).LegendKey.MarkerBackgroundColorIndex = 1
    .LegendEntries(i).LegendKey.MarkerForegroundColorIndex = 1
    .LegendEntries(i).LegendKey.MarkerStyle = xlSquare
    .LegendEntries(i).LegendKey.Border.LineStyle = xlNone
    Next
    End With
  
End Sub


... zou je allemaal zwarte vierkantjes moeten hebben.

Voor zover ik weet kan je met een scatter geen letters onder de x-as krijgen, alleen nummers. Met de line kun je wel letters (bv maandnamen) gebruiken.

[ Voor 11% gewijzigd door brekki op 19-02-2007 11:13 ]


Acties:
  • 0 Henk 'm!

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 15:48

superduper

Z3_3.0 Woeiiii

Topicstarter
Dankzij de laatste twee bijdragen kom ik er wel uit.

@onkl: dat is bijna wat ik wil, alleen nu met labels op de X as. De verdeling van de punten is inderdaad zoals het er uit moet zien.

@ brekkie: goeie suggestie om een macro voor het wijzigen van de datapunten. Wist niet dat een macro daar ook op aan kon grijpen.

Hiermee ga ik aan de slag.

Acties:
  • 0 Henk 'm!

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 15:48

superduper

Z3_3.0 Woeiiii

Topicstarter
brekki schreef op maandag 19 februari 2007 @ 11:10:
Maak eerst een "Line Chart" maakt, met op X de maanden en op Y de waarden. (dan heb je dus veel series, en krijg je zo'n lelijke chart met verschillende bolletjes en lijntjes)

Als je dan de grafiek selecteerd en deze macro runt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub DezelfdePuntjes()

    Dim i As Integer
    
    With ActiveChart.Legend
    For i = 1 To .LegendEntries.Count
    .LegendEntries(i).LegendKey.MarkerBackgroundColorIndex = 1
    .LegendEntries(i).LegendKey.MarkerForegroundColorIndex = 1
    .LegendEntries(i).LegendKey.MarkerStyle = xlSquare
    .LegendEntries(i).LegendKey.Border.LineStyle = xlNone
    Next
    End With
  
End Sub


... zou je allemaal zwarte vierkantjes moeten hebben.

Voor zover ik weet kan je met een scatter geen letters onder de x-as krijgen, alleen nummers. Met de line kun je wel letters (bv maandnamen) gebruiken.
Een paar vragen hierover:

Hoe verander ik de vierkantjes in rondjes? xlRound werkt helaas niet.
Ook zou ik de grootte wel willen wijzigen, in 1 of 2.

Waar vind je in het algemeen de methoden voor die macro;s? Ik kan deze in de help niet echt vinden.

De macro werkt gek genoeg niet als je de legenda niet weergeeft. En helaas ook niet met meer dan 255 series....

Maar voor de kleinere plotjes werkt het prima.

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 11:04
Rond: vervan xlSquare door xlMarkerStyleCircle
Help voor macro's: Alt-F11 ->Naar VBA editor.
In de VBA editor: F2=object explorer: de commandobibliotheek
F1 of contextmenu op vanallesennogwat: Help.

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

1: VBA help wordt standaard niet geinstalleerd. Krijg je geen foutmelding als je in de editor op F1 drukt dan? F1 is context gevoelig, als je in een keywoord staat krijg je daar uitleg over. :? Wat ook nog werkt is even een macro opnemen en kijken welke objecten en eigenschappen aangesproken worden / welke constanten worden gebruikt.

2: F2 brengt je in de objectbrowser, met alle objecten, methoden eigenschappen en constanten.

3: De code is een beetje raar. De legenda wordt aangepast, waar het series object meer voor de hand zou liggen. Iets als:
code:
1
2
3
4
5
Dim s as series
For each s in activechart.seriescollection
       s.marker etc=
       'nog meer markerinstellingen
next s

[ Voor 12% gewijzigd door Lustucru op 19-02-2007 20:48 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 15:48

superduper

Z3_3.0 Woeiiii

Topicstarter
Ik moest inderdaad een aantal dingen installeren nog. Bovendien ben ik nog steeds behoorlijk de weg kwijt in Office 2007. Nu wel besloten dat ik een UK versie ga aanschaffen. Ik word knetter van die vertaalde functies.

Inmiddels is de macroeditor helemaal bij en heb ik een lijst van alle objecten. De F2 is ook handig.
thnx allen.

Acties:
  • 0 Henk 'm!

  • brekki
  • Registratie: Januari 2006
  • Laatst online: 08-06 20:39
niesje schreef op maandag 19 februari 2007 @ 20:19:3: De code is een beetje raar. De legenda wordt aangepast, waar het series object meer voor de hand zou liggen. Iets als:
code:
1
2
3
4
5
Dim s as series
For each s in activechart.seriescollection
       s.marker etc=
       'nog meer markerinstellingen
next s
Zou wel logischer zijn ja, maar ik pas excel lijntjes altijd aan via de legenda, vind ik handiger dan in de grafiek zoeken naar het juiste lijntje :) (de 1e beginmacro was opgenomen via "record macro").
Pagina: 1