Ten artykuł pokaże, jak łatwo jest utworzyć wykres punktowy z jego obszarem działki podzielonym poziomo i pionowo na cztery regiony. Regiony są oddzielone osiami wykresu i osie te można ustawić w razie potrzeby, aby oddzielić ćwiartki.
napisałem samouczek pokazujący, jak utworzyć wykres Excela z kolorowym tłem kwadrantu, co było bardziej skomplikowane, ponieważ korzystało z ułożonych obszarów i osi drugorzędnych, aby uzyskać kolorowe tło. Jest to o wiele prostsze do tworzenia i utrzymywania i służy temu samemu celowi.
oto przykładowe dane X i Y, z obliczonymi średnimi i początkowym wykresem punktowym XY. Ustawimy osie na odpowiednich średnich danych X i Y, ale możesz je ustawić wszędzie tam, gdzie ma to sens w Twojej analizie.
musimy zmienić położenie osi tego wykresu. Kliknij dwukrotnie oś poziomą lub wybierz oś poziomą i naciśnij Ctrl + 1 (cyfra pierwsza), aby otworzyć panel zadań Formatuj Oś (pokazany tutaj, Excel 2013) lub okno dialogowe Formatuj Oś (działa tak samo we wcześniejszych wersjach programu Excel). W obszarze Opcje osi >Krzyże osi pionowej wybierz opcję Wartość osi i wprowadź średnią X w polu, jak pokazano.
wynik jest pokazany poniżej po lewej stronie. Powtórz dla osi pionowej, poniżej po prawej stronie.
te etykiety osi całkowicie przeszkadzają, ale łatwo je przesuwać. Sformatuj każdą oś (otwórz okienko zadań lub okno dialogowe jak powyżej) i w obszarze etykiety > pozycja etykiety wybierz pozycję Niski z listy rozwijanej.
teraz te etykiety znajdują się wzdłuż krawędzi wykresu, gdzie robią więcej dobrego niż złego (poniżej po lewej). Możesz zrobić niewielką ilość formatowania, aby ćwiartki wystały nieco wyraźniej. Na wykresie poniżej po prawej, użyłem jaśniejszego odcienia szarości dla linii siatki, i użyłem ciemniejszego koloru, w rzeczywistości, tego samego koloru co znaczniki, dla koloru linii osi.
łatwo jest użyć VBA do pozycjonowania osi i etykiet osi, korzystając z prostej procedury, takiej jak pokazano poniżej. Ta procedura pozycjonuje etykiety, a następnie wykorzystuje średnie obliczone w arkuszu roboczym do pozycjonowania linii osi.
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
Następna procedura pomija obliczenia arkusza roboczego, zamiast tego biorąc średnie wartości X i Y wykreślone na wykresie w celu pozycjonowania linii osi.
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
możesz nawet użyć zdarzeń arkusza roboczego do zmiany położenia osi wykresu. Moje wartości X i Y zostały obliczone za pomocą =RANDBETWEEN(2,14)
, więc za każdym razem, gdy arkusz kalkuluje (np. naciskając klawisz funkcyjny F9), wartości się zmieniają. Mogę wykorzystać to zdarzenie obliczeniowe w następujący sposób.
- kliknij prawym przyciskiem myszy kartę arkusz roboczy i wybierz Wyświetl kod z menu podręcznego. Edytor VB otwiera się z modułem kodu odpowiadającym arkuszowi.
- wybierz arkusz roboczy z rozwijanego menu po lewej stronie u góry nowego modułu kodu.
- Wybierz Oblicz z rozwijanego menu po prawej stronie.
- wpisz kod jak pokazano.
oto kod, więc nie musisz go wpisywać samodzielnie. Po prostu skopiuj i wklej do modułu kodu arkusza roboczego.
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
w zależności od szczegółów modelu arkusza roboczego, możesz użyć Worksheet_Calculate
, Worksheet_Change
, Worksheet_PivotTableUpdate
, lub inne procedury zdarzenia w celu aktualizacji wykresu.