43

一个重新排序系列如何用于在 Excel 中创建图表?

例如,我转到图表,右键单击 > 选择数据。在左栏中,我看到系列 1、系列 2 到系列 n。

比如说,我想将系列 3 移到系列 4 之后,可以从图表视图中完成吗?我不想移动工作表中的数据单元格。

我正在使用 Excel 2011 (mac OS X)。

4

9 回答 9

69

选择一个系列并在公式栏中查看。最后一个参数是该系列的情节顺序。您可以像编辑任何其他公式一样,直接在公式栏中编辑此公式。

例如,选择系列 4,然后将 4 更改为 3。

于 2011-03-09T04:47:41.273 回答
39

右键单击图表上的任何系列。在“格式化数据系列”对话框中,有一个“系列顺序”选项卡,您可以在其中上下移动系列。我发现这比摆弄系列公式的最后一个参数要容易得多。

这是在 Windows 的 Excel 2003 中。Excel 2011 for Mac 中有一个类似的对话框:

在此处输入图像描述

于 2011-04-12T17:05:25.010 回答
22

这些是向上/向下按钮

在此处输入图像描述

于 2011-03-01T23:33:11.493 回答
4

见下文

使用下面的代码,如果您使用的是 excel 2007 或 2010 并且只想重新排序图例。确保 mChartName 与您的图表名称匹配。

Sub ReverseOrderLegends()

mChartName = "Chart 1"
Dim sSeriesCollection As SeriesCollection
Dim mSeries As Series
With ActiveSheet
    .ChartObjects(mChartName).Chart.SetElement (msoElementLegendNone)
    .ChartObjects(mChartName).Chart.SetElement (msoElementLegendRight)
    Set sSeriesCollection = .ChartObjects(mChartName).Chart.SeriesCollection
    For Each mSeries In sSeriesCollection
        If mSeries.Values(1) = 0.000000123 Or mSeries.Values(1) = Empty Then
            mSeries.Delete
        End If
    Next mSeries

    LegendCount = .ChartObjects(mChartName).Chart.SeriesCollection.Count
    For mLegend = 1 To LegendCount
        .ChartObjects(mChartName).Chart.SeriesCollection.NewSeries
        .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Name = .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount - mLegend + 1).Name
        .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Values = "={0.000000123}"
        .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Format.Fill.ForeColor.RGB = .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount - mLegend + 1).Format.Fill.ForeColor.RGB
    Next mLegend

    For mLegend = 1 To LegendCount
        .ChartObjects(mChartName).Chart.Legend.LegendEntries(1).Delete
    Next mLegend
End With
End Sub
于 2012-10-31T22:46:34.313 回答
3

仅供参考,如果您使用两个 y 轴,则订单号只会在该 y 轴的系列集中产生影响。我相信默认情况下辅助 -y 轴位于主轴之上。如果您希望主轴中的系列位于顶部,则需要将其设为次要。

于 2011-08-08T16:34:41.910 回答
3

要在 Excel for Mac 2011 下更改图表中系列的堆叠顺序:

  1. 选择图表,
  2. 选择系列(在 Ribbon>Chart Layout>Current Selection 下最简单),
  3. 单击图表布局>格式选择或菜单>格式>数据系列...,
  4. 在弹出菜单上格式化数据系列单击顺序,然后单击单个系列并单击上移下移按钮以调整主题系列在轴上的堆叠顺序。这会更改绘图和图例的顺序,但可能不会更改 Series 公式中的顺序号。

我在第二轴上有一个三个系列的情节,而我想要在顶部的系列被卡在底部,无视“上移”“下移”按钮。它恰好被格式化为标记。我插入了一条线,并且 presto(!),我可以改变它在图中的顺序。后来我可以删除这条线,有时它仍然可以订购,但有时不能。

于 2012-12-12T22:03:41.430 回答
3

Excel 2010 - 如果您希望在数据透视图上重新排序系列:

  • 转到您的基础数据透视表
  • 右键单击要调整的系列的列标签之一(注意:您需要单击系列标题之一(即下例中的“星期六”或“星期日”)而不是“列标签的文本本身)
  • 在弹出菜单中,将鼠标悬停在“移动”上,然后从生成的子菜单中选择一个选项以重新定位系列变量。
  • 您的数据透视图将相应更新

在此处输入图像描述

于 2017-11-15T13:11:56.373 回答
2

要在 Excel 2010 中更改系列的顺序:

  • 选择(单击)任何数据系列,然后单击“图表工具”组中的“设计”选项卡。
  • 单击“数据”组中的“选择数据”,然后在弹出窗口中突出显示要移动的系列。
  • 单击标有“图例条目”(系列)的左侧框顶部的向上或向下三角形。
于 2012-06-05T17:11:29.300 回答
1

此函数获取系列名称,将它们放入数组中,对数组进行排序并基于此定义将给出所需输出的绘图顺序。

Function Increasing_Legend_Sort(mychart As Chart)


    Dim Arr()
    ReDim Arr(1 To mychart.FullSeriesCollection.Count)

        'Assigning Series names to an array
        For i = LBound(Arr) To UBound(Arr)
        Arr(i) = mychart.FullSeriesCollection(i).Name
        Next i

        'Bubble-Sort (Sort the array in increasing order)
        For r1 = LBound(Arr) To UBound(Arr)
            rval = Arr(r1)
                For r2 = LBound(Arr) To UBound(Arr)
                    If Arr(r2) > rval Then 'Change ">" to "<" to make it decreasing
                        Arr(r1) = Arr(r2)
                        Arr(r2) = rval
                        rval = Arr(r1)
                    End If
                Next r2
        Next r1

    'Defining the PlotOrder
    For i = LBound(Arr) To UBound(Arr)
    mychart.FullSeriesCollection(Arr(i)).PlotOrder = i
    Next i

End Function
于 2017-04-25T17:59:13.690 回答