簡體   English   中英

在python中繪制多個過程圖

[英]plot multiple processes graph in python

我試圖以行的形式針對每個進程名稱繪制多個進程數據。 一條線表示該進程處於活動狀態的時間,間隙表示該進程處於空閑狀態的時間。

x_axis_data1 = [1,2,3,4,5,6,7,8]
x_axis_data2 = [1,2,3,4,5,6,7,8]
x_axis_data3 = [1,2,3,4,5,6,7,8]

alive_for_time = 6
sleep_for_time = 2

plt.plot(x_axis_data1, "process1", dashes = [alive_for_time,  
sleep_for_time])
plt.plot(x_axis_data2, "process2", dashes = [alive_for_time, 
sleep_for_time])
plt.plot(x_axis_data3, "process3", dashes = [alive_for_time, 
sleep_for_time])


plt.show()

我不確定如何根據pyplot中的字符串進行繪制。 現在,我有這個錯誤:

ValueError: Illegal format string "process1"; two marker symbols   

您應該使用label關鍵字和legend()函數。

一些評論:

  • label是一個關鍵字,它描述了當您最后調用legend()函數時將顯示什么字符串。
  • 划線不是表示所需內容的好方法,因為它們以“圖形單位”(像素)為單位,並且您很可能希望以“數據單位”(時間)為單位。 嘗試縮放圖形,您會看到破折號不會相應縮放。
import matplotlib.pyplot as plt

x_axis_data1 = [1,2,3,4,5,6,7,8]
x_axis_data2 = [1,2,3,4,5,6,7,8]
x_axis_data3 = [1,2,3,4,5,6,7,8]

alive_for_time = 6
sleep_for_time = 2

plt.plot(x_axis_data1, [1] * len(x_axis_data1), dashes = [alive_for_time,
sleep_for_time], label="process1")

plt.plot(x_axis_data2, [2] * len(x_axis_data2), dashes = [alive_for_time, 
sleep_for_time], label="process2")

plt.plot(x_axis_data2, [3] * len(x_axis_data3), dashes = [alive_for_time, 
sleep_for_time], label="process3")

plt.legend()


plt.show()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM