Flip x e y axes no gráfico do Excel

4

Isso não deve ser muito difícil, mas não consigo descobrir como fazer isso.

Eu tenho uma tabela semelhante a esta

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

Quando faço o gráfico, o padrão do Excel é ter a primeira coluna no eixo x e plotar a segunda e a terceira colunas como valores y. Eu quero que a primeira coluna esteja no eixo y. Eu suponho que há uma maneira fácil de fazer isso, mas não consigo entender. A maioria das coisas que encontrei da pesquisa sugeriram o botão "Mudar Linha / Coluna", mas isso faz outra coisa.

Obrigado pela ajuda.

    
por Pat 08.10.2014 / 15:46

3 respostas

5

Você pode selecionar manualmente o que deseja representar graficamente.

Aqui estão os dados da minha amostra:

Euselecionoparacriarumgráficodedispersão.Aoeditarafontededados,cliconobotãoAdicionar.

Você pode selecionar o que quiser para o nome da série, mas eu seleciono o cabeçalho da coluna. X Values são os valores em sua coluna X, é claro. Os valores Y são uma das colunas Y.

Repita o processo para o segundo conjunto de dados.

    
por 08.10.2014 / 16:26
2

Aqui está uma rotina VBA simples que cria um gráfico de dispersão XY a partir de dados organizados com Y na primeira coluna e um ou mais conjuntos de X nos dados subseqüentes. Selecione o intervalo de dados ou selecione uma única célula dentro desse intervalo e execute o 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
    
por 15.05.2016 / 03:03
1

Se você precisar de uma tarefa repetitiva, a solução aceita pode ser demorada. O grande Jon Peltier tem um simples add-in para isso. Veja sua página .

Como afirmado nesta outra página de documentação :

Alternar os eixos XY

Este é um espaço reservado para a página de documentação dos Eixos do Switch XY.

Ou seja, nenhuma documentação está disponível. No entanto, vale a pena tentar. É muito fácil aprender.

    
por 12.12.2015 / 23:57