Я разрабатываю симулятор на основе Excel, который запускает определенный тест 1000 раз. Результатом каждого теста являются две координаты. Эти координаты записываются в диапазон. Затем я создаю график X-Y Scatter на основе этого диапазона.
Что я сейчас хочу сделать, так это просмотреть каждую из 1000 точек графика и изменить цвет этой точки на основе координат X и Y точки. В частности, я хочу взять X Mod (Half Max X) и Y Mod (Half Max Y), чтобы создать эффект увеличения интенсивности цвета по точкам, близким к середине графика.
Код, который я хочу использовать, выглядит следующим образом:
Temp = "'" + FirstCalcs.Name + "'!" + FirstCalcs.Cells(SOWD + 3, 2).Address + ":" + FirstCalcs.Cells(SOWD + 3, NumOfTests + 1).Address
Temp2 = "'" + FirstCalcs.Name + "'!" + FirstCalcs.Cells(SOWD + 4, 2).Address + ":" + FirstCalcs.Cells(SOWD + 4, NumOfTests + 1).Address
Set chtChart = Charts.Add
With chtChart
Do Until .SeriesCollection.Count = 1 ' remove extra series, which Excel spawns like rabbits, for some reason
.SeriesCollection(1).Delete
Loop
.Name = Institution + " summary"
.ChartType = xlXYScatter
'Link to the source data range.
'.SetSourceData Source:=FirstCalcs.Range(Temp)
.SeriesCollection(1).Values = Temp2
.SeriesCollection(1).XValues = Temp
For Each pts In .SeriesCollection(1).Points
.Format.Fill.Solid
'The next line is what I can't figure out
.MarkerBackgroundColor = RGB(XFunctionOf(.pts.XCoor), YFunctionOf(.pts.YCoor), 128)
.MarkerStyle = xlMarkerStyleDiamond
.MarkerSize = 10
End With
Next i
.HasTitle = True
.ChartTitle.Text = "Summary"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "T"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Time before T achieved"
.HasLegend = False
End With
Однако я не могу найти способ получить значение X AND Y, чтобы выполнить на них необходимую функцию. Я могу варьировать цвет в соответствии с номером самой точки (от 1 до 1000), но это не то, что я хочу сделать - цвет является функцией координат X, Y каждой точки. Стоит сказать, что диапазоны как координат X, так и Y являются переменными, т.е. тест не возвращает результаты, которые каждый раз находятся в одном и том же масштабе.
Любая помощь будет чрезвычайно признательна и благодарна вам заранее.