eenvoudige XY-Quaddiagram met Assen Als Kwadrantgrenzen

dit artikel laat zien hoe eenvoudig het is om een spreidingsdiagram te maken met het plotgebied horizontaal en verticaal verdeeld in vier gebieden. De regio ‘ s worden gescheiden door de kaartassen, en deze assen kunnen worden gepositioneerd waar nodig om de kwadranten af te bakenen.

Quadgrafiek met Assen Als Kwadrantgrenzen

Quad-grafiek met Assen als Kwadrantgrenzen

Ik heb een tutorial geschreven die laat zien hoe u een Excel-grafiek met gekleurde Kwadrantachtergrond maakt, wat ingewikkelder was omdat het gestapelde gebieden en secundaire Assen gebruikte om de gekleurde achtergrond te krijgen. Dit is veel eenvoudiger te creëren en te onderhouden, en dient veel hetzelfde doel.

hier zijn de gegevens van de steekproef X en Y, met berekende gemiddelden, en het initiële XY-spreidingsdiagram. We positioneren de assen op de respectievelijke gemiddelden van de x-en Y-gegevens, hoewel u ze kunt positioneren waar het zinvol is in uw analyse.

Quad-grafiek per as-gegevens en grafiek

Quad grafiek per as-Data en grafiek

we moeten de assen van deze grafiek herpositioneren. Dubbelklik op de horizontale as of selecteer de horizontale as en druk op Ctrl+1 (cijfer één), om de te openen Indeling Axis taak deelvenster (hier getoond, Excel 2013) or Indeling Axis dialoogvenster (werkt vrijwel hetzelfde in eerdere Excel-versies). Onder As opties >Verticale As kruisen, selecteer de as waarde optie en voer de x gemiddelde in het vak, zoals getoond.

formaat taakvenster as - as kruist bij

indeling as Taakdeelvenster-as kruisen bij

het resultaat wordt linksonder weergegeven. Herhaal dit voor de verticale as, rechtsonder.

Quad-grafiek per as-positie Assen

Quad grafiek per as - positie Assen

deze aslabels staan volledig in de weg, maar het is gemakkelijk om ze te verplaatsen. Formatteer elke as (open het taakvenster of dialoogvenster zoals hierboven) en selecteer laag onder Labels > Labelpositie in het vervolgkeuzemenu.

formaat as Taakpaneel-Labelpositie laag

indeling as Taakpaneel-Labelpositie laag

nu zijn deze labels langs de randen van de grafiek, waar ze meer goed dan kwaad doen (linksonder). Je kunt een kleine hoeveelheid formatteren om de kwadranten wat duidelijker uit te laten steken. In de grafiek rechtsonder, heb ik een lichtere grijstint gebruikt voor de rasterlijnen, en ik heb een donkerdere kleur gebruikt, in feite dezelfde kleur als de markeringen, voor de kleur van de aslijn.

Quad-grafiek per as-Positielabels en opnieuw formatteren

Quad Chart by Axes-Position Labels and Reformat

het is eenvoudig om VBA te gebruiken om de assen en aslabels te positioneren, met behulp van een eenvoudige routine zoals hieronder weergegeven. Deze routine positioneert de labels en gebruikt vervolgens de gemiddelden berekend in het werkblad om de aslijnen te positioneren.

Sub AxesAsQuadBoundaries1() With ActiveChart With .Axes(xlCategory) .TickLabelPosition = xlTickLabelPositionLow .CrossesAt = ActiveSheet.Range("A17").Value2 End With With .Axes(xlValue) .TickLabelPosition = xlTickLabelPositionLow .CrossesAt = ActiveSheet.Range("B17").Value2 End With End WithEnd Sub

de volgende routine slaat de werkbladberekeningen over, in plaats daarvan worden de gemiddelden van de x-en Y-waarden in het diagram gebruikt om de aslijn te positioneren.

Sub AxesAsQuadBoundaries2() Dim vData As Variant With ActiveChart vData = .SeriesCollection(1).XValues With .Axes(xlCategory) .TickLabelPosition = xlTickLabelPositionLow .CrossesAt = WorksheetFunction.Average(vData) End With vData = .SeriesCollection(1).Values With .Axes(xlValue) .TickLabelPosition = xlTickLabelPositionLow .CrossesAt = WorksheetFunction.Average(vData) End With End WithEnd Sub

u kunt zelfs werkbladgebeurtenissen gebruiken om de grafiekassen te verplaatsen. Mijn X-en Y-waarden werden berekend met =RANDBETWEEN(2,14), dus wanneer het werkblad berekent (bijvoorbeeld door op de functietoets F9 te drukken), veranderen de waarden. Ik kan deze rekengebeurtenis als volgt gebruiken.

  • Klik met de rechtermuisknop op het tabblad werkblad en selecteer Bekijk Code in het pop-upmenu. De VB-Editor wordt geopend met een code module die overeenkomt met het werkblad.
  • Selecteer werkblad in de linker dropdown boven aan de nieuwe codemodule.
  • Selecteer berekenen uit de rechter dropdown.
  • Voer de aangegeven code in.

Worksheet_Calculate Event om Assen Op positie te houden

Werkblad_calculate Event om Assen Op positie

te houden Hier is de code zodat u niet alles zelf hoeft in te typen. Kopieer en plak eenvoudig in de codemodule van het werkblad.

Private Sub Worksheet_Calculate() Dim vData As Variant With Me.ChartObjects(1).Chart vData = .SeriesCollection(1).XValues With .Axes(xlCategory) .TickLabelPosition = xlTickLabelPositionLow .CrossesAt = WorksheetFunction.Average(vData) End With vData = .SeriesCollection(1).Values With .Axes(xlValue) .TickLabelPosition = xlTickLabelPositionLow .CrossesAt = WorksheetFunction.Average(vData) End With End WithEnd Sub

afhankelijk van de details van uw werkbladmodel, kunt u de Worksheet_Calculate, Worksheet_Change, Worksheet_PivotTableUpdate, of andere gebeurtenisprocedures om de grafiek bij te werken.



+