绘制计算机卷的层次结构

问题描述

我有包含计算机的设备和卷层次结构的数据框。我需要绘制一个看起来有点像这样的图:

enter image description here

这是我的带有示例数据的代码

dev_vols <- structure(list(Parent = c(NA,"HTREE\\ROOT\\0","ROOT\\VOLMGR\\0000","ROOT\\UMBUS\\0000","ROOT\\ACPI_HAL\\0000","SWD\\MSRRAS\\{5E259276-BC7E-40E3-B93B-8F89B5F3ABC0}","SWD\\PRINTENUM\\PRINTQUEUES","UMB\\UMB\\1&841921D&0&TERMINPUT_BUS","ACPI_HAL\\PNP0C08\\0","ACPI\\ACPI0004\\0","ACPI\\VMBUS\\0","VMBUS\\{CFA8B69E-5B4A-4CC0-B98B-8BA1A1F3F95A}\\{58F75A6D-D949-4320-99E1-A2A2576D581C}","VMBUS\\{DA0A7802-E377-4AAC-8E77-0558EB1073F8}\\{5620E0C7-8062-4DCE-AEB7-520C7EF76171}","VMBUS\\{BA6163D9-04A1-4D29-B605-72E2FFB1DC7F}\\{F8B3781A-1E82-4818-A1C3-63D806EC15BB}","VMBUS\\{BA6163D9-04A1-4D29-B605-72E2FFB1DC7F}\\{F8B3781B-1E82-4818-A1C3-63D806EC15BB}","SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\000001","SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\000000","SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\5&23DB5F40&0&000000","SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\5&23DB5F40&0&000001","SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\5&23DB5F40&0&000001"),Child = c("HTREE\\ROOT\\0","ROOT\\BASICdisPLAY\\0000","ROOT\\COMPOSITEBUS\\0000","ROOT\\VDRVROOT\\0000","ROOT\\SPACEPORT\\0000","ROOT\\KDNIC\\0000","ROOT\\BASICRENDER\\0000","ROOT\\NdisVIRTUALBUS\\0000","ROOT\\MSSMBIOS\\0000","ROOT\\SYstem\\0000","ROOT\\RDPBUS\\0000","SWD\\RAdio\\{3DB5895D-CC28-44B3-AD3D-6F01A782B8D2}","STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#0000000000100000","STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#0000000001100000","STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#000000001D300000","STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#0000000023600000","STORAGE\\VOLUME\\{CA4E1FD9-D57C-11EA-A639-806E6F6E6963}#0000000000100000","STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000000004400","STORAGE\\VOLUME\\{0531011A-3A2C-11EB-A663-000D3ABFEDE3}#0000000000004400","STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000001000000","STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000272000000","STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000521800000","STORAGE\\VOLUME\\{0531011A-3A2C-11EB-A663-000D3ABFEDE3}#0000000001000000","SWD\\MSRRAS\\MS_sstPMINIPORT","SWD\\MSRRAS\\MS_AGILEVPNMINIPORT","SWD\\MSRRAS\\MS_L2TPMINIPORT","SWD\\MSRRAS\\MS_PPTPMINIPORT","SWD\\MSRRAS\\MS_PPPOEMINIPORT","SWD\\MSRRAS\\MS_GREMINIPORT","SWD\\MSRRAS\\MS_NdisWANIP","SWD\\MSRRAS\\MS_NdisWANIPV6","SWD\\MSRRAS\\MS_NdisWANBH","SWD\\PRINTENUM\\{3B791C83-2BBD-4800-8C59-2404B5D91622}","SWD\\PRINTENUM\\{D9FC0A7D-011F-4CF3-94FD-489CC5C0D631}","SWD\\PRINTENUM\\{1C88CB4C-1DEB-40C9-9A84-8A7C9F0ECB03}","SWD\\PRINTENUM\\{2DF8889A-9130-48C6-919C-03F17B9A424B}","SWD\\PRINTENUM\\{9ABE8B4F-BE8D-4492-A5BB-96582F927752}","SWD\\PRINTENUM\\{51197A29-20DB-4513-9312-534A8EC0D7FD}","TERMINPUT_BUS\\UMB\\2&2C22BCC9&0&SESSION2KEYBOARD0","TERMINPUT_BUS\\UMB\\2&2C22BCC9&0&SESSION2MOUSE0","ACPI\\PNP0501\\2","ACPI\\HYPER_V_GEN_COUNTER_V1\\0","ACPI\\PNP0B00\\0","ACPI\\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_85_-_INTEL(R)_XEON(R)_PLATINUM_8272CL_cpu_@_2.60GHZ\\1","ACPI\\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_85_-_INTEL(R)_XEON(R)_PLATINUM_8272CL_cpu_@_2.60GHZ\\2","ACPI\\PNP0003\\3&FDAC00F&0","VMBUS\\{525074DC-8985-46E2-8057-A307DC18A502}\\{1ECCFD72-4B41-45EF-B73A-4A6E44C12924}","VMBUS\\{F912AD6D-2B17-48EA-BD65-F927A61C7684}\\{D34B2567-B9B6-42B9-8778-0A4EC0B955BF}","VMBUS\\{3375BAF4-9E15-4B30-B765-67ACB10D607B}\\{4487B255-B88C-403F-BB51-D1F69CF17F87}","VMBUS\\{57164F39-9115-4E78-AB55-382F3BD5422D}\\{FD149E91-82E0-4A7D-AFA6-2A4166CBD7C0}","VMBUS\\{A9A0F4E7-5A45-4D96-B827-8A841E8C03E6}\\{242FF919-07DB-4180-9C2E-B86CB68C8C55}","VMBUS\\{0E0B6031-5213-4934-818B-38D90CED39DB}\\{B6650FF7-33BC-4840-8048-E0676786F393}","VMBUS\\{9527E630-D0AE-497B-ADCE-E80AB0175CAF}\\{2DD1CE17-079E-403C-B352-A1921EE207EE}","VMBUS\\{F8615163-DF3E-46C5-913F-F2D2F965ED0E}\\{000D3ABF-EDE3-000D-3ABF-EDE3000D3ABF}","HID\\{CFA8B69E-5B4A-4CC0-B98B-8BA1A1F3F95A}\\5&1A8C06AF&0&0000","disPLAY\\MSH062E\\5&1A097CD8&0&UID5527112","D:\\","C:\\","E:\\","F:\\","G:\\","H:\\","G:\\MountPoint_data\\"
                           ),FriendlyName = c(NA,"Volume Manager","Microsoft Basic display Driver","Composite Bus Enumerator","Microsoft Virtual Drive Enumerator","Microsoft Storage Spaces Controller","Microsoft Kernel Debug Network Adapter","UMBus Root Bus Enumerator","ACPI x64-based PC","Microsoft Basic Render Driver","Ndis Virtual Network Adapter Enumerator","Microsoft System Management BIOS Driver","Plug and Play Software Device Enumerator","Remote Desktop Device Redirector Bus","Microsoft Radio Device Enumeration Bus","Microsoft RRAS Root Enumerator","Root Print Queue","Volume","UMBus Enumerator","Microsoft ACPI-Compliant System","WAN Miniport (sstP)","WAN Miniport (IKEv2)","WAN Miniport (L2TP)","WAN Miniport (PPTP)","WAN Miniport (PPPOE)","WAN Miniport (GRE)","WAN Miniport (IP)","WAN Miniport (IPv6)","WAN Miniport (Network Monitor)","Microsoft XPS Document Writer","Microsoft Print to PDF","Microsoft Print to PDF (redirected 2)","OneNote for Windows 10 (redirected 2)","Fax (redirected 2)","Microsoft XPS Document Writer (redirected 2)","Remote Desktop Keyboard Device","Remote Desktop Mouse Device","ACPI Module Device","Communications Port (COM2)","Microsoft Hyper-V Generation Counter","System CMOS/real time clock","Intel(R) Xeon(R) Platinum 8272CL cpu @ 2.60GHz","Advanced programmable interrupt controller","Microsoft Hyper-V Virtual Machine Bus","Microsoft Hyper-V Dynamic Memory","Microsoft Hyper-V Input","Microsoft Hyper-V Virtual Keyboard","Microsoft Hyper-V Video","Microsoft Hyper-V Activation Component","Microsoft Hyper-V Heartbeat","Microsoft Hyper-V Data Exchange","Microsoft Hyper-V Guest Shutdown","Microsoft Hyper-V Time Synchronization","Microsoft Hyper-V Network Adapter","Microsoft Hyper-V SCSI Controller","HID-compliant mouse","Generic PnP Monitor","Microsoft Virtual disk","G:\\MountPoint_data\\"
                           )),row.names = c(NA,-80L),class = c("tbl_df","tbl","data.frame"
                           ))

library(data.tree)

tree <- as.Node(
  dev_vols[-1,],"FriendlyName",mode = c("network")
)

我的结果:

                                                                                              levelName
1  HTREE\\ROOT\\0                                                                                                
2   ¦--ROOT\\VOLMGR\\0000                                                                                        
3   ¦   ¦--STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#0000000000100000                              
4   ¦   ¦--STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#0000000001100000                              
5   ¦   ¦--STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#000000001D300000                              
6   ¦   ¦--STORAGE\\VOLUME\\{5F048B5A-C2F9-11EA-A637-806E6F6E6963}#0000000023600000                              
7   ¦   ¦--STORAGE\\VOLUME\\{CA4E1FD9-D57C-11EA-A639-806E6F6E6963}#0000000000100000                              
8   ¦   ¦--STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000000004400                              
9   ¦   ¦--STORAGE\\VOLUME\\{0531011A-3A2C-11EB-A663-000D3ABFEDE3}#0000000000004400                              
10  ¦   ¦--STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000001000000                              
11  ¦   ¦--STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000272000000                              
12  ¦   ¦--STORAGE\\VOLUME\\{05310103-3A2C-11EB-A663-000D3ABFEDE3}#0000000521800000                              
13  ¦   °--STORAGE\\VOLUME\\{0531011A-3A2C-11EB-A663-000D3ABFEDE3}#0000000001000000                              
14  ¦--ROOT\\BASICdisPLAY\\0000                                                                                  
15  ¦--ROOT\\COMPOSITEBUS\\0000                                                                                  
16  ¦--ROOT\\VDRVROOT\\0000                                                                                      
17  ¦--ROOT\\SPACEPORT\\0000                                                                                     
18  ¦--ROOT\\KDNIC\\0000                                                                                         
19  ¦--ROOT\\UMBUS\\0000                                                                                         
20  ¦   °--UMB\\UMB\\1&841921D&0&TERMINPUT_BUS                                                                   
21  ¦       ¦--TERMINPUT_BUS\\UMB\\2&2C22BCC9&0&SESSION2KEYBOARD0                                                
22  ¦       °--TERMINPUT_BUS\\UMB\\2&2C22BCC9&0&SESSION2MOUSE0                                                   
23  ¦--ROOT\\ACPI_HAL\\0000                                                                                      
24  ¦   °--ACPI_HAL\\PNP0C08\\0                                                                                  
25  ¦       ¦--ACPI\\ACPI0004\\0                                                                                 
26  ¦       ¦   ¦--ACPI\\PNP0003\\3&FDAC00F&0                                                                    
27  ¦       ¦   °--ACPI\\VMBUS\\0                                                                                
28  ¦       ¦       ¦--VMBUS\\{525074DC-8985-46E2-8057-A307DC18A502}\\{1ECCFD72-4B41-45EF-B73A-4A6E44C12924}     
29  ¦       ¦       ¦--VMBUS\\{CFA8B69E-5B4A-4CC0-B98B-8BA1A1F3F95A}\\{58F75A6D-D949-4320-99E1-A2A2576D581C}     
30  ¦       ¦       ¦   °--HID\\{CFA8B69E-5B4A-4CC0-B98B-8BA1A1F3F95A}\\5&1A8C06AF&0&0000                        
31  ¦       ¦       ¦--VMBUS\\{F912AD6D-2B17-48EA-BD65-F927A61C7684}\\{D34B2567-B9B6-42B9-8778-0A4EC0B955BF}     
32  ¦       ¦       ¦--VMBUS\\{DA0A7802-E377-4AAC-8E77-0558EB1073F8}\\{5620E0C7-8062-4DCE-AEB7-520C7EF76171}     
33  ¦       ¦       ¦   °--disPLAY\\MSH062E\\5&1A097CD8&0&UID5527112                                             
34  ¦       ¦       ¦--VMBUS\\{3375BAF4-9E15-4B30-B765-67ACB10D607B}\\{4487B255-B88C-403F-BB51-D1F69CF17F87}     
35  ¦       ¦       ¦--VMBUS\\{57164F39-9115-4E78-AB55-382F3BD5422D}\\{FD149E91-82E0-4A7D-AFA6-2A4166CBD7C0}     
36  ¦       ¦       ¦--VMBUS\\{A9A0F4E7-5A45-4D96-B827-8A841E8C03E6}\\{242FF919-07DB-4180-9C2E-B86CB68C8C55}     
37  ¦       ¦       ¦--VMBUS\\{0E0B6031-5213-4934-818B-38D90CED39DB}\\{B6650FF7-33BC-4840-8048-E0676786F393}     
38  ¦       ¦       ¦--VMBUS\\{9527E630-D0AE-497B-ADCE-E80AB0175CAF}\\{2DD1CE17-079E-403C-B352-A1921EE207EE}     
39  ¦       ¦       ¦--VMBUS\\{F8615163-DF3E-46C5-913F-F2D2F965ED0E}\\{000D3ABF-EDE3-000D-3ABF-EDE3000D3ABF}     
40  ¦       ¦       ¦--VMBUS\\{BA6163D9-04A1-4D29-B605-72E2FFB1DC7F}\\{F8B3781A-1E82-4818-A1C3-63D806EC15BB}     
41  ¦       ¦       ¦   ¦--SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\000000                                         
42  ¦       ¦       ¦   ¦   °--C:\\                                                                              
43  ¦       ¦       ¦   °--SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\000001                                         
44  ¦       ¦       ¦       °--D:\\                                                                              
45  ¦       ¦       °--VMBUS\\{BA6163D9-04A1-4D29-B605-72E2FFB1DC7F}\\{F8B3781B-1E82-4818-A1C3-63D806EC15BB}     
46  ¦       ¦           ¦--SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\5&23DB5F40&0&000000                            
47  ¦       ¦           ¦   ¦--E:\\                                                                              
48  ¦       ¦           ¦   ¦--F:\\                                                                              
49  ¦       ¦           ¦   °--G:\\                                                                              
50  ¦       ¦           °--SCSI\\disK&VEN_MSFT&PROD_VIRTUAL_disK\\5&23DB5F40&0&000001                            
51  ¦       ¦               ¦--H:\\                                                                              
52  ¦       ¦               °--G:\\MountPoint_data\\                                                             
53  ¦       ¦--ACPI\\PNP0501\\2                                                                                  
54  ¦       ¦--ACPI\\HYPER_V_GEN_COUNTER_V1\\0                                                                   
55  ¦       ¦--ACPI\\PNP0B00\\0                                                                                  
56  ¦       ¦--ACPI\\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_85_-_INTEL(R)_XEON(R)_PLATINUM_8272CL_cpu_@_2.60GHZ\\1
57  ¦       °--ACPI\\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_85_-_INTEL(R)_XEON(R)_PLATINUM_8272CL_cpu_@_2.60GHZ\\2
58  ¦--ROOT\\BASICRENDER\\0000                                                                                   
59  ¦--ROOT\\NdisVIRTUALBUS\\0000                                                                                
60  ¦--ROOT\\MSSMBIOS\\0000                                                                                      
61  ¦--ROOT\\SYstem\\0000                                                                                        
62  ¦--ROOT\\RDPBUS\\0000                                                                                        
63  ¦--SWD\\RAdio\\{3DB5895D-CC28-44B3-AD3D-6F01A782B8D2}                                                        
64  ¦--SWD\\MSRRAS\\{5E259276-BC7E-40E3-B93B-8F89B5F3ABC0}                                                       
65  ¦   ¦--SWD\\MSRRAS\\MS_sstPMINIPORT                                                                          
66  ¦   ¦--SWD\\MSRRAS\\MS_AGILEVPNMINIPORT                                                                      
67  ¦   ¦--SWD\\MSRRAS\\MS_L2TPMINIPORT                                                                          
68  ¦   ¦--SWD\\MSRRAS\\MS_PPTPMINIPORT                                                                          
69  ¦   ¦--SWD\\MSRRAS\\MS_PPPOEMINIPORT                                                                         
70  ¦   ¦--SWD\\MSRRAS\\MS_GREMINIPORT                                                                           
71  ¦   ¦--SWD\\MSRRAS\\MS_NdisWANIP                                                                             
72  ¦   ¦--SWD\\MSRRAS\\MS_NdisWANIPV6                                                                           
73  ¦   °--SWD\\MSRRAS\\MS_NdisWANBH                                                                             
74  °--SWD\\PRINTENUM\\PRINTQUEUES                                                                               
75      ¦--SWD\\PRINTENUM\\{3B791C83-2BBD-4800-8C59-2404B5D91622}                                                
76      ¦--SWD\\PRINTENUM\\{D9FC0A7D-011F-4CF3-94FD-489CC5C0D631}                                                
77      ¦--SWD\\PRINTENUM\\{1C88CB4C-1DEB-40C9-9A84-8A7C9F0ECB03}                                                
78      ¦--SWD\\PRINTENUM\\{2DF8889A-9130-48C6-919C-03F17B9A424B}                                                
79      ¦--SWD\\PRINTENUM\\{9ABE8B4F-BE8D-4492-A5BB-96582F927752}                                                
80      °--SWD\\PRINTENUM\\{51197A29-20DB-4513-9312-534A8EC0D7FD}                                                
                                     FriendlyName
1                                                
2                                  Volume Manager
3                                          Volume
4                                          Volume
5                                          Volume
6                                          Volume
7                                          Volume
8                                          Volume
9                                          Volume
10                                         Volume
11                                         Volume
12                                         Volume
13                                         Volume
14                 Microsoft Basic display Driver
15                       Composite Bus Enumerator
16             Microsoft Virtual Drive Enumerator
17            Microsoft Storage Spaces Controller
18         Microsoft Kernel Debug Network Adapter
19                      UMBus Root Bus Enumerator
20                               UMBus Enumerator
21                 Remote Desktop Keyboard Device
22                    Remote Desktop Mouse Device
23                              ACPI x64-based PC
24                Microsoft ACPI-Compliant System
25                             ACPI Module Device
26     Advanced programmable interrupt controller
27          Microsoft Hyper-V Virtual Machine Bus
28               Microsoft Hyper-V Dynamic Memory
29                        Microsoft Hyper-V Input
30                            HID-compliant mouse
31             Microsoft Hyper-V Virtual Keyboard
32                        Microsoft Hyper-V Video
33                            Generic PnP Monitor
34         Microsoft Hyper-V Activation Component
35                    Microsoft Hyper-V Heartbeat
36                Microsoft Hyper-V Data Exchange
37               Microsoft Hyper-V Guest Shutdown
38         Microsoft Hyper-V Time Synchronization
39              Microsoft Hyper-V Network Adapter
40              Microsoft Hyper-V SCSI Controller
41                         Microsoft Virtual disk
42                                           C:\\
43                         Microsoft Virtual disk
44                                           D:\\
45              Microsoft Hyper-V SCSI Controller
46                         Microsoft Virtual disk
47                                           E:\\
48                                           F:\\
49                                           G:\\
50                         Microsoft Virtual disk
51                                           H:\\
52                          G:\\MountPoint_data\\
53                     Communications Port (COM2)
54           Microsoft Hyper-V Generation Counter
55                    System CMOS/real time clock
56 Intel(R) Xeon(R) Platinum 8272CL cpu @ 2.60GHz
57 Intel(R) Xeon(R) Platinum 8272CL cpu @ 2.60GHz
58                  Microsoft Basic Render Driver
59        Ndis Virtual Network Adapter Enumerator
60        Microsoft System Management BIOS Driver
61       Plug and Play Software Device Enumerator
62           Remote Desktop Device Redirector Bus
63         Microsoft Radio Device Enumeration Bus
64                 Microsoft RRAS Root Enumerator
65                            WAN Miniport (sstP)
66                           WAN Miniport (IKEv2)
67                            WAN Miniport (L2TP)
68                            WAN Miniport (PPTP)
69                           WAN Miniport (PPPOE)
70                             WAN Miniport (GRE)
71                              WAN Miniport (IP)
72                            WAN Miniport (IPv6)
73                 WAN Miniport (Network Monitor)
74                               Root Print Queue
75                  Microsoft XPS Document Writer
76                         Microsoft Print to PDF
77          Microsoft Print to PDF (redirected 2)
78          OneNote for Windows 10 (redirected 2)
79                             Fax (redirected 2)
80   Microsoft XPS Document Writer (redirected 2)

现在我需要:

  1. 只保留具有虚拟磁盘的节点作为最后一点 - 所以我需要以某种方式过滤掉所有没有“VIRTUAL_disK”的节点,但最后一步。
  2. 以可读格式绘制这棵树,在该图中显示友好名称(而不是 ID) - 我不能只用树中的友好名称替换 ID,因为友好名称中有很多克隆。

任何帮助都会得到认可。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...