web-dev-qa-db-fra.com

Inverser les axes x et y dans un graphique Excel

Cela ne devrait pas être très difficile, mais je ne peux pas comprendre comment le faire.

J'ai une table semblable à celle-ci

   %low %high
 0   0   12
 1  13   26
 ...
19  90   94
20  95  100

Lorsque je la représente, Excel utilise par défaut la première colonne sur l'axe des x et trace les deuxième et troisième colonnes en tant que valeurs y. Je veux que la première colonne soit sur l'axe des y à la place. Je suppose qu'il y a un moyen facile de faire cela, mais je ne peux pas le comprendre. La plupart des choses que j'ai trouvées en recherchant ont suggéré le bouton "Changer de ligne/colonne", mais cela fait autre chose.

Merci pour l'aide.

4
Pat

Vous pouvez sélectionner manuellement ce que vous souhaitez représenter.

Voici mes exemples de données:

enter image description here

Je choisis de créer un graphe de dispersion. Lors de la modification de la source de données, je clique sur le bouton Ajouter.

enter image description here

Vous pouvez sélectionner ce que vous voulez comme nom de série mais je sélectionne l'en-tête de colonne. Les valeurs X sont les valeurs de votre colonne X bien sûr. Les valeurs Y sont l’une des colonnes Y.

enter image description here

Répétez le processus pour le deuxième ensemble de données.

5
Eric F

Voici une routine VBA simple qui crée un diagramme à nuages ​​de points XY à partir de données organisées avec Y dans la première colonne et un ou plusieurs ensembles de X dans les données suivantes. Sélectionnez la plage de données ou sélectionnez une seule cellule dans cette plage et exécutez le code.

Sub ChartFromInput_YXX()
    ' assumes first column of input range has Y values
    ' assumes subsequent columns have X values
    ' assumes first row of input range has series

    Dim rngDataSource As Range
    Dim iDataRowsCt As Long
    Dim iDataColsCt As Integer
    Dim iSrsIx As Integer
    Dim chtChart As Chart
    Dim srsNew As Series

    If Not TypeName(Selection) = "Range" Then
        '' Doesn't work if no range is selected
        MsgBox "Please select a data range and try again.", _
            vbExclamation, "No Range Selected"
    Else
        Set rngDataSource = Selection
        If rngDataSource.Cells.Count = 1 Then
            ' expand to data range including active cell
            Set rngDataSource = rngDataSource.CurrentRegion
        End If
        With rngDataSource
            iDataRowsCt = .Rows.Count
            iDataColsCt = .Columns.Count
        End With

        '' Create the chart
        Set chtChart = ActiveSheet.Shapes.AddChart.Chart

        With chtChart
            .ChartType = xlXYScatterLines

            '' Remove any series created with the chart
            Do Until .SeriesCollection.Count = 0
                .SeriesCollection(1).Delete
            Loop

            For iSrsIx = 1 To iDataColsCt - 1
                '' Add each series
                Set srsNew = .SeriesCollection.NewSeries
                With srsNew
                    .Name = rngDataSource.Cells(1, 1 + iSrsIx)
                    .Values = rngDataSource.Cells(2, 1) _
                        .Resize(iDataRowsCt - 1, 1)
                    .XValues = rngDataSource.Cells(2, 1 + iSrsIx) _
                        .Resize(iDataRowsCt - 1, 1)
                End With
            Next
        End With
    End If
End Sub
2
Jon Peltier

Si vous avez besoin d'une tâche répétitive, la solution acceptée peut prendre beaucoup de temps. Le grand Jon Peltier a n simple complément pour cela. Voir sa page .

Comme indiqué dans cet autre page de documentation :

Basculer les axes XY

Ceci est un espace réservé pour la page de documentation pour les axes de commutation XY.

À savoir, aucune documentation n'est disponible. Néanmoins, cela vaut vraiment la peine de l'essayer. C'est vraiment facile à apprendre.

1
sancho.s

Pour les besoins occasionnels d’échange d’axes, ceci tutoriel montre sans doute le moyen le plus simple.

  1. Cliquez avec le bouton droit sur le graphique, puis cliquez sur Sélectionner des données dans le menu contextuel.
  2. Dans la boîte de dialogue Sélectionner une source de données, cliquez sur pour mettre la colonne Y en surbrillance, puis cliquez sur le bouton Modifier dans la section Entrées de légende (série).
  3. Maintenant, la boîte de dialogue Modifier la série apparaît. Veuillez permuter les valeurs de la série X et de la série Y, puis cliquez successivement sur les boutons OK pour fermer les deux boîtes de dialogue.

Voir le lien pour les images.

0
Iizuki