我有一個Excel與大多0和1的文件,我想用這個信息來顏色的圖的頂點和邊。因此,如果單元格爲0,則將邊緣變爲灰色,但如果單元格爲1,則將其着色爲藍色。對於頂點也是類似的。如何使用excel數據爲圖表(頂點和邊)着色?
誰能給我如何去了解這個建議?我應該用什麼來製作圖表?我該如何告訴它如何爲它着色?
謝謝!
我有一個Excel與大多0和1的文件,我想用這個信息來顏色的圖的頂點和邊。因此,如果單元格爲0,則將邊緣變爲灰色,但如果單元格爲1,則將其着色爲藍色。對於頂點也是類似的。如何使用excel數據爲圖表(頂點和邊)着色?
誰能給我如何去了解這個建議?我應該用什麼來製作圖表?我該如何告訴它如何爲它着色?
謝謝!
嘗試使用D3圖。訪問https://d3js.org/
D3使用JavaScript語言。你可以參考多個圖表。
即使您可以從excel文件中獲取輸入數據來創建動態圖形。
你可以參考D3網絡圖來了解如何從給定的數據http://christophergandrud.github.io/d3Network/
改變頂點和圖形邊緣的顏色如果您有x和y的值可以直接打印這些工作表。以下是一個隨機生成5個點的x和y座標的示例。每個點繪製一個小的實心圓。在前一個點和下一個點之間畫一條線,形成一個閉環。
爲了演示如何選擇線條顏色,我將它們交替着色爲灰色和藍色,以便您瞭解如何根據其他一些標準選擇顏色。
vbBlue是預設的調色板之一(見本link),這就是爲什麼它沒有被宣佈 - 不像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