交换轴在VBA中绘制散点图

使用下面的代码,我得到了我想要的graphics,只是它以错误的方式绘制坐标轴。 我怎样才能将X数据更改为Y数据,反之亦然?

Sub AddChartObject() Set cht = ActiveChart Set rng = ActiveSheet.Range("AB30:AD40") With ActiveSheet.ChartObjects.Add(Left:=rng.Left, Width:=rng.Width, Top:=rng.Top, Height:=rng.Height) '(Left:=100, Width:=375, Top:=75, Height:=225) .Chart.ChartType = xlXYScatterLines .Chart.SetSourceData Source:=Range("O30:O40,N30:N40") End With End Sub 

将数据添加到图表后,您需要独立设置XValuesValues

 Dim srs as Series With ActiveSheet.ChartObjects.Add(Left:=rng.Left, Width:=rng.Width, Top:=rng.Top, Height:=rng.Height) '(Left:=100, Width:=375, Top:=75, Height:=225) .Chart.ChartType = xlXYScatterLines '.Chart.SetSourceData Source:=Range("O30:O40,N30:N40") Set srs = .Chart.SeriesCollection.NewSeries srs.Name = "The series name" '<-- edit as needed srs.XValues = Range("O30:O40") srs.Values = Range("N30:N40") End With 

如果不这样做,那么只需像下面那样翻转Values / xValues:

  srs.XValues = Range("N30:N40") srs.Values = Range("O30:O40") 

其中一种方法将为你做。