Voltear los ejes x e y en el gráfico de Excel

4

Esto no debería ser muy difícil, pero no puedo entender cómo hacerlo.

Tengo una mesa similar a esta

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

Cuando lo grafo, Excel por defecto tiene la primera columna en el eje xy traza la segunda y tercera columna como valores y. Quiero que la primera columna esté en el eje y en su lugar. Supongo que hay una manera fácil de hacer esto, pero no puedo resolverlo. La mayoría de las cosas que he encontrado al buscar han sugerido el botón "Cambiar fila / columna", pero eso hace algo más.

Gracias por la ayuda.

Palmadita
fuente
¿No puedes graficarlo manualmente en su lugar?
Eric F
Podría, pero tengo que hacer esto en varias hojas, por lo que me gustaría que sea más rápido que la entrada manual.
Pat
Si necesita una tarea repetitiva, la solución aceptada puede llevar mucho tiempo. He publicado una forma diferente.
sancho.s

Respuestas:

5

Puede seleccionar manualmente lo que desea graficar.

Aquí están mis datos de muestra:

ingrese la descripción de la imagen aquí

Selecciono crear un gráfico de diagrama de dispersión. Al editar la fuente de datos, hago clic en el botón Agregar.

ingrese la descripción de la imagen aquí

Puede seleccionar lo que quiera para el nombre de la serie, pero selecciono el encabezado de la columna. Los valores X son los valores en su columna X, por supuesto. Los valores Y son una de las columnas Y.

ingrese la descripción de la imagen aquí

Repita el proceso para el segundo conjunto de datos.

Eric F
fuente
1
*** --- ^ Tenga en cuenta el Switch Row Columnbotón de arriba? Yo diría que a veces es bastante útil. ;-)
Hannu
Dijo que eso no funcionó
Eric F
Ay. Entonces la solicitud de más información es válida.
Hannu
Lo siento, no quise decir que eso pareciera grosero en absoluto
Eric F
Más de un año después en Mac y el botón de cambiar filas / columnas en un diagrama de dispersión todavía no funciona. Parece poner aleatoriamente los valores anteriores de y en el eje x como factores arbitrarios. Geez ... Un enfoque limpio es crear un gráfico vacío y luego agregar los datos como se describe anteriormente.
Bryan Hanson
2

Aquí hay una rutina simple de VBA que crea un gráfico de dispersión XY a partir de los datos que se organizan con Y en la primera columna y uno o más conjuntos de X en los datos posteriores. Seleccione el rango de datos o seleccione una sola celda dentro de ese rango y ejecute el código.

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
Jon Peltier
fuente
Exactamente lo que quería, gracias por hacer el trabajo.
u8it
1

Si necesita una tarea repetitiva, la solución aceptada puede llevar mucho tiempo. El gran Jon Peltier tiene un complemento simple para esto. Ver su página .

Como se indica en esta otra página de documentación :

Cambiar ejes XY

Este es un marcador de posición para la página de documentación para Cambiar ejes XY.

Es decir, no hay documentación disponible. Sin embargo, realmente vale la pena intentarlo. Es realmente fácil de aprender.

sancho.s
fuente
@ fixer1234: ya había hecho lo que me sugeriste en primer lugar. Por favor, vea la actualización, sin embargo. El enlace útil es a un archivo zip, por lo que no puedo agregarlo aquí. Y si el enlace se rompe, no hay nada que se pueda hacer desde SU.
sancho.s
1

Para necesidades ocasionales de cambio de eje, este tutorial muestra la forma más fácil de hacerlo.

  1. Haga clic con el botón derecho en el gráfico y haga clic en Seleccionar datos en el menú contextual.
  2. En el cuadro de diálogo emergente Seleccionar origen de datos, haga clic para resaltar la columna Y y luego haga clic en el botón Editar en la sección Entradas de leyenda (Serie).
  3. Ahora aparece el cuadro de diálogo Editar serie. Cambie los valores de la Serie X y de la Serie Y, y luego haga clic en los botones Aceptar sucesivamente para cerrar ambos cuadros de diálogo.

Vea el enlace para fotos.

Iizuki
fuente
1
¡Bienvenido a Super User! Cite las partes esenciales de la respuesta de los enlaces de referencia, ya que la respuesta puede invalidarse si las páginas enlazadas cambian.
DavidPostill
Es esencialmente lo mismo que la respuesta aceptada.
Máté Juhász
@ MátéJuhász Sí lo es. Acabo de tener el mismo problema que OP y encontré este tutorial más útil que la respuesta aceptada. Pensé que alguien más podría sentir lo mismo.
Iizuki