要在Excel中嵌入一个交互式的Poly图形,可以利用`Chart Tools > Design > Insert Chart from Data > Pivot Table`功能来创建一个包含多个系列的数据透视表,并将其转换为柱状图或折线图等交互式图表。
具体步骤如下:
1. 首先,打开你的Excel工作簿,并准备你想要嵌入Poly图的数据。
2. 将你的数据整理成表格的形式(假设数据列包括'Category'、'Value1'和'Value2'),其中'Category'代表分类,'Value1'和'Value2'分别对应两个不同变量的数据。
```
| Category | Value1 | Value2 |
|----------|--------|--------|
| A | 10 | 5 |
| B | 15 | 8 |
| C | 20 | 10 |
```
3. 选择你的数据区域,然后在“插入”菜单中选择“图表”。然后选择合适的图表类型,例如柱状图。
4. 接下来,点击“数据透视表”,Excel将会自动创建一个包含你选择的数据的数据透视表。默认情况下,Excel会为每一列生成一个新的数据透视表字段,并将它们分别放置在行标签、列标签和值区域。
5. 在新打开的数据透视表中,你可以通过拖拽字段到相应的区域来重新组织你的图表。例如,将'Value1'和'Value2'分别移动到“值”区域。
6. 此时,你可以在Excel中看到一个包含两个系列(一个对应'Value1',另一个对应'Value2')的交互式柱状图。
代码示例:
在Excel VBA中,你可以使用以下代码来创建数据透视表并转换为交互式图表:
```vba
Sub CreatePolyChart()
Dim pvtCache As PivotCache
Dim pvtTable As PivotTable
Dim dataRange As Range
Dim chartRange As Range
' 假设你的数据在A1:C4范围内
Set dataRange = Range("A1:C4")
' 将数据区域添加到PivotCache
Set pvtCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, dataRange)
' 在活动的工作表上创建一个新的数据透视表
Set pvtTable = pvtCache.CreatePivotTable(TableDestination:=dataRange, TableName:="PolyData")
' 设置行标签和列标签
With pvtTable
.RowLabels.Add Range("A1").Resize(1, .SourceData.ListColumns.Count - 1)
.ColumnLabels.Add Range("B1").Resize(2, .SourceData.ListColumns.Count - 2)
End With
' 将数据透视表转换为柱状图
Set chartRange = dataRange
ActiveSheet.Shapes.AddChart2(xlColumnClustered).Select
Selection.Chart.SetSourceData Source:=chartRange
End Sub
```
测试用例:
假设你的数据如下:
```
| Category | Value1 | Value2 |
|----------|--------|--------|
| A | 10 | 5 |
| B | 15 | 8 |
| C | 20 | 10 |
```
运行上述VBA代码后,你将得到一个包含'Value1'和'Value2'两个系列的数据透视表和一个柱状图。python