Denne artikkelen viser hvor enkelt Det er å lage et punktdiagram med plottområdet delt horisontalt og vertikalt i fire regioner. Regionene er adskilt av diagramaksene, og disse aksene kan plasseres der det er nødvendig for å avgrense kvadrantene.

jeg har skrevet en tutorial som viser hvordan du oppretter Et Excel-Diagram Med Farget Kvadrant Bakgrunn, som var mer komplisert, som det brukes stablet områder og sekundære akser for å få farget bakgrunn. Dette er mye enklere å opprette og vedlikeholde, og tjener mye samme formål.
her er eksempeldataene X Og Y, med beregnede gjennomsnitt, og det første xy-punktdiagrammet. Vi vil plassere aksene i de respektive gjennomsnittene Av x-og Y-dataene, selv om du kan plassere dem hvor det er fornuftig i analysen din.

Vi må omplassere aksene i dette diagrammet. Dobbeltklikk på den vannrette aksen, eller velg den vannrette aksen og trykk Ctrl+1 (tall en), for å åpne Oppgaveruten formater Akse (Vist her, Excel 2013) eller Formater Akse dialog (fungerer mye det samme i tidligere Excel-versjoner). Under Aksealternativer >Loddrette Aksekryss, velger Du Akseverdi-alternativet, og skriver inn x-gjennomsnittet i boksen, som vist.

resultatet vises nedenfor til venstre. Gjenta for den vertikale aksen, under høyre.

disse akseetikettene er helt i veien, Men det er enkelt å flytte dem. Formater hver akse (åpne oppgaveruten eller dialogboksen som ovenfor) og velg Lav Fra rullegardinmenyen Under Etiketter > Etikettposisjon.

nå er disse etikettene langs kantene av diagrammet, der de gjør mer godt enn skade (nedenfor til venstre). Du kan gjøre en liten mengde formatering for å få kvadrantene til å stikke ut litt tydeligere. I diagrammet nedenfor til høyre har jeg brukt en lysere gråton for rutenettene, og jeg har brukt en mørkere farge, faktisk samme farge som markørene, for akselinjefargen.

DET er enkelt Å bruke VBA til å plassere aksene og akseetikettene, ved hjelp av en enkel rutine som vist nedenfor. Denne rutinen plasserer etikettene, og bruker deretter gjennomsnittene beregnet i regnearket til å plassere akselinjene.
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
den neste rutinen hopper over regnearkberegningene, i stedet tar gjennomsnittene For x-og Y-verdiene som er tegnet inn i diagrammet, for å plassere akselinjene.
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
du kan til og med bruke regnearkhendelser til å omplassere diagramaksene. Mine x-og Y-verdier ble beregnet ved hjelp av =RANDBETWEEN(2,14)
, så når regnearket beregner (f.eks. ved å trykke på f9-funksjonstasten), endres verdiene. Jeg kan tappe inn i denne beregningshendelsen som følger.
- Høyreklikk på fanen regneark, og velg Vis Kode fra popup-menyen. VB-Editoren åpnes med en kodemodul som svarer til regnearket.
- Velg Regneark fra rullegardinmenyen til venstre øverst i den nye kodemodulen.
- Velg Beregn fra rullegardinmenyen til høyre.
- Skriv inn koden som vist.

her er koden, Slik at du ikke trenger å skrive alt selv. Bare kopier og lim inn i regnearkets kodemodul.
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
Avhengig av detaljene i regnearkmodellen din, kan du bruke Worksheet_Calculate
, Worksheet_Change
, Worksheet_PivotTableUpdate
, eller andre hendelsesprosedyrer for å oppdatere diagrammet.