我怎样才能用excel数据着色graphics(顶点和边缘)?

我有一个主要是0和1的Excel文件,我想用这些信息来为图的顶点和边缘着色。 因此,如果一个单元格为0,将边缘变为灰色,但是如果单元格为1,则将其着色为蓝色。 类似的顶点。

任何人都可以给我一个如何去做这个build议吗? 我应该用什么来制作图表? 我该如何告诉它如何着色?

谢谢!

尝试使用D3图。 访问https://d3js.org/
D3使用JavaScript语言。 你可以参考多个图表。
即使你可以从Excel文件中获取input数据来创builddynamicgraphics。
你可以参考D3networking图来理解如何从给定的数据改变图的顶点和边的颜色http://christophergandrud.github.io/d3Network/

如果您有x和y值,则可以直接在工作表上绘制它们。 以下是随机生成5个点的x和y坐标的示例。 在每个点绘制一个小的实心圆。 在前一个点和下一个点之间画一条线,形成一个闭环。

为了演示如何select线条颜色,我将它们交替着色为灰色和蓝色,以便您了解如何根据其他一些标准select颜色。

vbBlue是预设的颜色托盘之一(请参阅此链接 ),这就是为什么它不必声明 – 不像vbGray。

Option Explicit Sub drawALine(xFrm As Double, yFrm As Double, xTo As Double, yTo As Double, c As Long) With ActiveSheet.Shapes.AddLine(xFrm, yFrm, xTo, yTo).Line .DashStyle = msoLineDashDotDot .ForeColor.RGB = c End With End Sub Sub drawNode(r As Double, x As Double, y As Double, c As Long) With ActiveSheet.Shapes.AddShape(msoShapeOval, x - r / 2, y - r / 2, r, r) .Fill.ForeColor.RGB = c End With End Sub Sub ConnectedOverLappingLoop() Dim xMax As Double, yMax As Double, x1 As Double, y1 As Double Dim xFrm As Double, yFrm As Double, xTo As Double, yTo As Double Dim radius As Double Dim vbGray As Long, clr As Long xMax = 200 yMax = 200 radius = 5 vbGray = RGB(150, 150, 150) xFrm = Rnd() * xMax yFrm = Rnd() * yMax x1 = xFrm y1 = yFrm clr = vbBlue drawNode radius, x1, y1, vbBlue Dim i As Integer For i = 1 To 5: xTo = Rnd() * xMax yTo = Rnd() * yMax drawNode radius, xTo, yTo, vbBlue drawALine xFrm, yFrm, xTo, yTo, clr xFrm = xTo yFrm = yTo If clr = vbBlue Then clr = vbGray Else clr = vbBlue End If Next drawALine xFrm, yFrm, x1, y1, clr End Sub