【问题标题】:How to label scatterplot points by name?如何按名称标记散点图点?
【发布时间】:2016-08-05 07:39:48
【问题描述】:

我正在尝试弄清楚如何让标签显示在 Google 表格、Excel 或 Numbers 上。

我有类似这样的信息

name|x_val|y_val
----------------
a   |    1|    1
b   |    2|    4
c   |    1|    2

然后我希望我的最终图表看起来像这样。

4|      .(c)
3|
2|  .(b) 
1|  .(a)
 |__ __ __ __
0   1  2  3  4

为什么我不能用名称标记这些点?我似乎只能标记 ,例如,(c) 会显示 4

是唯一的解决方案 D3 吗?

【问题讨论】:

标签: excel google-sheets numbers graphing


【解决方案1】:

好吧,在我去检查之前,我认为这是不可能的。在某些以前版本的 Excel 中,我无法做到这一点。我目前正在使用 Excel 2013。

这是您想要在散点图中执行的操作:

  1. 右键单击您的数据点

  2. 选择“格式化数据标签”(注意您可能需要添加数据标签 首先)

  3. 勾选“来自单元格的值”
  4. 点击“选择范围”并在点上选择您想要的标签范围

更新:为单个标签着色

要单独为标签着色,请使用以下步骤:

  1. 选择一个标签。当您第一次选择时,该系列的所有标签都应该有一个框,如上图所示。
  2. 选择您有兴趣编辑的单个标签。只有您选择的标签应该有一个框,如下图所示。
  3. 在右侧,如下图,选择“TEXT OPTIONS”。
  4. 如果需要,扩展“文本填充”类别。
  5. 类别列表底部倒数第二个是“颜色”,从托盘中选择您想要的颜色。

如果您选择了整个系列而不是单个标签,则文本格式更改应适用于所有标签,而不仅仅是一个标签。

【讨论】:

  • 我刚让 IT 部门为我提供 Microsoft Office 2016 for Mac,但不幸的是 Mac 版 Excel 没有此功能 :(。谢谢
  • 这太棒了。我可以从 Microsoft 找到的所有官方文档都解释了如何使用笨拙的宏来做到这一点。这是完美的解决方案。
  • 我在 Windows 上使用 excel 365(build 1805),但没有“单元格值”选项:(还有其他方式吗?
  • @Simon 我不知道。如果您有一个小数据集,您可以选择其他可用的答案。
  • 如何让每个标签都变成不同的颜色?
【解决方案2】:

另一个令人费解的答案在技术上应该可行并且对于少量数据点是可以的,是将所有数据点绘制为 1 系列,以便获得连接线。然后将每个点绘制为自己的系列。然后格式化数据标签以显示每个单独数据点的系列名称。

简而言之,它适用于小型数据集或仅适用于数据集中的关键点。

【讨论】:

    【解决方案3】:

    对于所有在 Excel 中没有选项的人(比如我),有一个宏可以工作并在此处解释:https://www.get-digital-help.com/2015/08/03/custom-data-labels-in-x-y-scatter-chart/ 非常有用

    【讨论】:

      【解决方案4】:

      这些都不适合我。我在使用 Microsoft 360 的 Mac 上。我发现这确实有效: 此解决方法适用于 Excel 2010 和 2007,最适合少量图表数据点。

      在标签上单击两次以将其选中。 在编辑栏中单击。 类型 = 使用鼠标单击包含您要使用的值的单元格。 公式栏可能更改为 =Sheet1!$D$3

      对剩余的数据标签重复步骤 1 到 5。

      简单

      【讨论】:

      • 谢谢。我在 PC 上使用 Excel 2016,但这帮助我弄清楚如何标记一个点(通过双击选择它,然后右键单击)而不是像顶部答案中的所有点。
      【解决方案5】:

      如果使用 VBA 是一个选项,并假设您有一个名为“Table1”的表,格式如下:

      Label|x_val|y_val
      ----------------
      a   |    1|    1
      b   |    2|    4
      c   |    1|    2
      

      这个例程应该可以工作:

      Sub labelDatapoints()
          Dim r As Integer
          With ActiveSheet.ChartObjects(1).Chart                                                                  'The scatter plot
              .SeriesCollection(1).ApplyDataLabels
              For r = 1 To Range("Table1[Label]").Rows.Count                                                      'iterate through all data points
                      .SeriesCollection(1).Points(r).DataLabel.Text = Range("Table1[Label]").Cells(r).Value       'add the custom label to the current datapoint
              Next r
          End With
      End Sub
      

      修改自https://www.get-digital-help.com/dynamic-data-labels-in-a-chart/

      【讨论】:

        猜你喜欢
        • 2012-10-25
        • 1970-01-01
        • 2022-01-16
        • 2012-03-18
        • 2021-08-16
        • 1970-01-01
        • 1970-01-01
        • 2019-09-30
        • 1970-01-01
        相关资源
        最近更新 更多