2.系列线进阶 除了使用默认设置,系列线还可以设置丰富的属性。系列线的分解图如下:
Withch.Chart With .SeriesCollection.NewSeries .Values = ws.Range("b3:b" & lastrow) .XValues = ws.Range("a3:a" & lastrow) .ChartType = xlArea .Interior.Color = RGB(127, 255, 212) End With With .SeriesCollection.NewSeries .Values = ws.Range("b3:b" & lastrow) .XValues = ws.Range("a3:a" & lastrow) .ChartType = xlLineMarkers .MarkerSize = 5 '数据标记大小 .MarkerStyle = xlMarkerStyleCircle '数据标记类型 .MarkerBackgroundColor = RGB(255, 106, 106) .MarkerForegroundColor = RGB(90, 178, 238) .HasDataLabels = True '有数据标签 .DataLabels.NumberFormat = "0.00" .HasLeaderLines = True .LeaderLines.Border.ColorIndex = 5 .Trendlines.Add Type:=xlPolynomial '趋势线 .Trendlines(1).Border.LineStyle = xlDash .Trendlines(1).Border.Color = vbRed End With .HasLegend = False End With
我们不指定Chart的图表类型,而直接指定系列的类型,且一个图表中不同趋势线可以使用不同的类型。第一条系列的类型是面积图(xlArea),而第二天系列是折线图(xlLineMarkers)。
在折线图中,我们还指定了数据标记的形状和大小,其形状可为如下的选项:
HasDataLabels =True 指定有数据标签,就是系列线上得到那些数字。HasLeaderLines = True设置引导线。这些设置基本没有多少用途,反而让图表显得更复杂。Pass吧!
.Trendlines.AddType:=xlPolynomial,添加一条趋势线,代表数据的运动规律。类型有如下选项,这个需要非常丰富的经验,不然无法选择准确的类型。
名称 | | | | | 使用公式(如 y=ab^x)计算数据点的最小平方拟合值。 | | | 使用线性公式 y = mx + b 计算数据点的最小平方拟合值。 | | | 使用公式 y = c ln x + b 计算数据点的最小平方拟合值。 | | | 使用通过数据系列中某些部分计算出的一系列平均值。数据点个数等于数据系列中数据点的总数减去为周期指定的数值。 | | | 使用公式(如 y = ax^6 + bx^5 + cx^4 + dx^3 + ex^2 + fx + g)计算数据点的最小平方拟合值。 | | | 使用公式(如 y = ax^b)计算数据点的最小平方拟合值。 |
最后绘制出来的图表如下:
|