在 Excel 图表中翻转 x 轴和 y 轴

在 Excel 图表中翻转 x 轴和 y 轴

这应该不是很困难,但我不知道该怎么做。

我有一张类似这样的桌子

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

当我绘制图表时,excel 默认将第一列放在 x 轴上,将第二列和第三列绘制为 y 值。我希望将第一列放在 y 轴上。我假设有一种简单的方法可以做到这一点,但我搞不懂。我从搜索中找到的大多数东西都建议使用“切换行/列”按钮,但这有不同的作用。

谢谢您的帮助。

答案1

您可以手动选择您想要绘制的图表。

以下是我的样本数据:

在此处输入图片描述

我选择创建散点图。编辑数据源后,单击“添加”按钮。

在此处输入图片描述

您可以随意选择系列名称,但我选择的是列标题。X 值当然是 X 列中的值。Y 值是 Y 列之一。

在此处输入图片描述

对第二组数据重复该过程。

答案2

这是一个简单的 VBA 例程,它根据第一列中 Y 和后续数据中一组或多组 X 排列的数据创建 XY 散点图。选择数据范围,或选择该范围内的单个单元格,然后运行代码。

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

答案3

如果你需要重复性任务,那么公认的解决方案可能会很耗时。伟大的乔恩·佩尔蒂埃一个简单的插件请参阅他的页面

正如另一方所述文档页面

切换 XY 轴

这是“切换 XY 轴”文档页面的占位符。

也就是说,没有可用的文档。不过,它确实值得一试。它确实很容易学。

答案4

对于偶尔需要交换轴的情况教程显示可能是最简单的方法。

  1. 右键单击图表,然后单击上下文菜单中的选择数据。
  2. 在弹出的选择数据源对话框中,请单击以突出显示 Y 列,然后单击图例条目(系列)部分中的编辑按钮。
  3. 此时会出现“编辑系列”对话框。请交换系列 X 值和系列 Y 值,然后依次单击“确定”按钮关闭两个对话框。

图片请参见链接。

相关内容