在Excel中绘制大量系列图表

时间:2017-12-17 07:37:02

标签: excel

我有一个工作表,分为四列,标记为x1,y1,x2,y2,共100行。每行表示从x1,y1开始到x2,y2结束的线段。如何在Excel中绘制这些段,而无需单独添加每个系列?完全选择这些列并插入图表只是将它们绘制为四个系列,100个点或100个系列,四个点。

编辑:是否有可以执行此操作的VBA代码?

2 个答案:

答案 0 :(得分:1)

我总是说,如果您花费五分钟处理数据,则可以在图表上节省五个小时。这是一种情况,其中不同的数据安排可以用更少的努力产生期望的结果。

如下所示排列您的数据。所有X值都在B列中,所有Y值在C列中,X,Y值对由空行分隔。给定此数据,Excel绘制每对X,Y值之间的线段,并绘制与空白行对应的间隙。我试图在A栏中添加标签以帮助解释:线段标记为A,B等。

选择B列和C列中的数据,然后插入XY散点图,其中包含直线和无标记。

enter image description here

答案 1 :(得分:0)

使用VBA是可能的。

我们有以下表格:

enter image description here

并遵循VBA代码:

Sub createChart()

 With ActiveSheet

  Set oChart = .ChartObjects.Add(Left:=300, Top:=0, Width:=200, Height:=200).Chart
  oChart.ChartType = xlXYScatterSmooth

  lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

  For r = 2 To lastRow
   Set oSeries = oChart.SeriesCollection.NewSeries
   oSeries.XValues = Union(.Cells(r, "A"), .Cells(r, "C"))
   oSeries.Values = Union(.Cells(r, "B"), .Cells(r, "D"))
  Next

  oChart.SetElement msoElementLegendNone

 End With

End Sub

结果:

enter image description here