Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 重新排序图表数据系列_Excel_Charts_Excel 2011 - Fatal编程技术网

Excel 重新排序图表数据系列

Excel 重新排序图表数据系列,excel,charts,excel-2011,Excel,Charts,Excel 2011,如何使用一个重新排序系列在Excel中创建图表 例如,我转到图表,右键单击>选择数据。在左列中,我看到了系列1、系列2到系列n 比如说,我想把第三系列移到第四系列之后,可以从图表视图中完成吗?我不想移动工作表中的数据单元格 我正在使用Excel 2011(mac OS X)。这些是上/下按钮 选择一个系列并查看公式栏。最后一个参数是序列的打印顺序。您可以像编辑任何其他公式一样,在公式栏中编辑此公式 例如,选择系列4,然后将4更改为3。右键单击图表上的任何系列。在“格式化数据系列”对话框中,有一个

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

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

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


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

这些是上/下按钮


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


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

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

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


仅供参考,如果您使用两个y轴,订单号将仅在该y轴的系列集合内产生差异。我认为,默认情况下,次y轴位于主y轴之上。如果希望主轴中的系列位于顶部,则需要将其设为次轴。

要在Excel 2010中更改系列的顺序,请执行以下操作:

  • 选择(单击)任何数据系列,然后单击“图表工具”组中的“设计”选项卡
  • 单击“数据”组中的“选择数据”,并在弹出窗口中突出显示要移动的序列
  • 单击左侧框顶部标记为“图例条目”(系列)的向上或向下三角形
    • 见下文

      如果您使用的是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
      

      要更改Excel for Mac 2011下图表中系列的堆叠顺序,请执行以下操作:

    • 选择图表
    • 选择系列(在功能区>图表布局>当前选择下最简单)
    • 单击图表布局>格式选择或菜单>格式>数据系列
    • 在弹出菜单“格式化数据系列”中,单击顺序,然后单击单个系列,然后单击上移或下移按钮,以调整主题系列轴上的堆叠顺序。这会更改绘图和图例的顺序,但可能不会更改系列公式中的顺序号

    • 我在次轴上有一个三个系列的绘图,我想要在顶部的系列被粘在底部,无视上移下移按钮。它碰巧只被格式化为标记。我插入了一条线,并且presto(!),我可以改变它在绘图中的顺序。后来我可以删除该行,有时仍然可以订购,但有时不能

      此函数用于获取序列名称,将其放入数组中,对数组进行排序,并基于此定义打印顺序,从而提供所需的输出

      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
      
      函数递增\u图例\u排序(mychart作为图表)
      Dim-Arr()
      ReDim Arr(1到mychart.FullSeriesCollection.Count)
      '将序列名称分配给数组
      对于i=LBound(Arr)到UBound(Arr)
      Arr(i)=mychart.FullSeriesCollection(i).名称
      接下来我
      '气泡排序(按递增顺序对数组排序)
      r1=LBound(Arr)至UBound(Arr)
      rval=Arr(r1)
      r2=LBound(Arr)至UBound(Arr)
      
      如果Arr(r2)>rval,则将“更改”>“为”Excel2010-如果您希望在轴图上重新排序系列:

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

      谢谢。不幸的是,Mac版本中缺少这些公式。唉,这在2010 windows版本中效果很好。这比尝试操作公式要好得多。在2010年,您可以通过右键单击图表上的任意位置并选择“选择数据”来实现这一点。“这很容易做到,也很容易教办公室里的其他人。很好!除此之外,如果您有“n”系列,则不能转到n+1;Excel让你保持在“n”位置。我的条形图有几对带空格的列,我不能用它在最后两对列上加空格,但这太棒了!谢谢大家!@KM向图表中添加另一个系列,做你需要的,最后删除。如你所问(在我编辑它之前),这类问题的合适位置是超级用户,因为它不涉及代码。默认情况下,次要-y轴位于图表的底部primary@mooseman你错了。至少在Excel 2010.2年前,我最有可能使用2007,我到底错在哪里?