SUMO入門(九) - 可視化
SUMO提供了廣泛的輸出,但可能會發現難以解析和可視化它們。下面有一些工具可以將模擬運行的結果可視化,以便放在論文中。
所有這些工具都只是matplotlib庫的包裝器。這些工具是用Python實現的,需要安裝matplotlib。這些工具可以在 <SUMO_HOME> / tools / visualization 中找到。
這些工具共享一組常用選項來調整生成圖像的外觀,這些選項的名稱選擇類似於matplotlib調用。
1 當前工具
下面,您將找到適用於輸出SUMO / SUMO-GUI生成的工具的描述。 要運行它們,您需要:
– 安裝Python
– 安裝matplotlib
– 設置<SUMO_HOME>
所有腳本都是從命令行執行的,您必須提供下面描述中列出的命令行選項。 請注意,common選項 可能適用於以下小節中列出的所有腳本,儘管很少選項可能對某些腳本不起作用。
1.1 plot_trajectories.py
顯示給定 --fcd-output 文件中所有軌跡的圖。
python plot_trajectories.py fcd.xml -t td -o plot.png -s
選項-t( - trajectory-type)支持不同的繪圖樣式:
td:時間與距離
ts:時間與速度
ta:時間與加速度
ds:距離與速度
da:距離與加速度
設置選項-s時,將打開交互式圖表,通過單擊相應的行來識別車輛(車輛ID在控制檯中打印)。
選項 –filter-route EDGE1,EDGE2,… 允許將繪圖限制爲包含給定邊緣集的所有軌跡。
1.2 plot_net_dump.py
plot_net_dump.py顯示了一個網絡,其中網絡邊緣的顏色和寬度是根據定義的邊緣屬性設置的。 邊緣權重從“edgedumps”讀取 - edgelane traffic, edgelane emissions, 或 edgelane noise.
1.3 plot_net_selection.py
plot_net_selection.py讀取SUMO-GUI編寫的道路網絡和選擇文件。 它繪製了道路網絡,爲選擇範圍內的邊緣選擇不同的顏色和寬度(選擇中至少有一條道路的所有邊緣)。
1.4 plot_net_speeds.py
plot_net_speeds.py讀取道路網絡並使用允許的速度繪製邊緣顏色。
1.5 plot_net_trafficLights.py
plot_net_trafficLights.py讀取道路網並繪製它,並在交通信號燈的位置添加點/標記。
1.6 plot_summary.py
plot_summary.py讀取一個或多個 summary-files 並繪製選定的度量(讀取摘要文件的屬性)。 該度量可視化爲沿着模擬時間的時間線。
1.7 plot_tripinfo_distributions.py
plot_tripinfo_distributions.py讀取一個或多個 tripinfo-files 並繪製一個選定的度量(讀取tripinfo文件的屬性)。 該度量被可視化爲垂直條,其表示落入箱中的度量(車輛)的出現次數。
1.8 plot_csv_timeline.py
plot_csv_timeline.py讀取 .csv文件 並繪製使用 --columns <INT> [,<INT>] * 選項選擇的列。 值顯示爲線條。
1.9 plot_csv_pie.py
plot_csv_pie.py讀取 .csv文件 ,該文件假定在第一列中包含名稱,在第二列中包含相應值。 讀取的名稱/值對可視化爲餅圖。
1.10 plot_csv_bars.py
plot_csv_bars.py讀取 .csv文件 ,該文件假定在第一列中包含名稱,在第二列中包含相應值。 讀取的名稱/值對可視化爲條形圖。
2 常見選項
以下所有選項都適用於上面列出的所有工具。 它們可以分爲兩組:
– 格式化圖形的選項(包括添加標題等)
– 用於確定如何處理生成的圖形的選項
2.1 格式化選項
2.2 交互選項
3 進一步的可視化方法
3.1根據任意數據在SUMO-GUI中着色邊緣
當加載權重設置邊緣着色模式時,SUMO-GUI可以加載權重文件並顯示其值。 當單步執行模擬時,可以顯示權重文件中包含的不同時間間隔。
3.2交叉口流量圖
要根據交通數量可視化交叉口上的具有線寬的流量,可以使用工具 route2poly.py
1.使用NETEDIT選擇要顯示流的一個或多個交叉點的所有邊,並將選擇保存到文件(例如 sel.txt)
2.根據通過選定邊的車輛數生成寬度爲的多邊形。 將 –scale-width 設置爲0.01時,使用相同邊序列的100輛車將對應1m的多邊形寬度。 選項 –spread 用於防止生成的多邊形重疊,並應根據多邊形寬度進行調整。
route2poly.py NET routes.rou.xml -o flows.poly.xml --filter-output.file sel.txt --scale-width 0.01 --internal --spread 1 --hue cycle
3.在SUMO-GUI中可視化流量
sumo-gui -n NET -a flows.poly.xml