这应该不是很困难,但我不知道该怎么做。
我有一张类似这样的桌子
%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
答案4
对于偶尔需要交换轴的情况教程显示可能是最简单的方法。
- 右键单击图表,然后单击上下文菜单中的选择数据。
- 在弹出的选择数据源对话框中,请单击以突出显示 Y 列,然后单击图例条目(系列)部分中的编辑按钮。
- 此时会出现“编辑系列”对话框。请交换系列 X 值和系列 Y 值,然后依次单击“确定”按钮关闭两个对话框。
图片请参见链接。