将 matplotlib 图转换为散景时间线图?

Convert matplotlib graph to bokeh timeline graph?

我正在尝试使用散景库绘制时间线图。

import matplotlib.pyplot as plt
import csv

with open('syscall.csv','r') as csvfile :
    rows = list(csv.reader(csvfile, delimiter=','))[1:]
    #rows.sort(key = lambda x: int(x[7])) 
    for row in rows:
        print(row[6])
        alfa=0.8
        renk = 'g'
        start, end, data = int(row[6]), int(row[14]), int(row[5])
        x = [start, end]
        y = [data, data]
        plt.plot(x, y, label=row[0], marker='o', color = renk)
plt.xlabel('time(milliseconds)')
plt.ylabel('Amount of Data(bytes)')
plt.title('VFS and EXT4 layer READ/WRITE graph')
plt.legend(['VR = Red, ER=black, VW=blue, EW=green, vr=%d, er=%d, vw=%d,ew=%d'%(vrc,erc,vwc,ewc)],loc='lower left')
plt.grid(True)
plt.savefig('test.png')
plt.show()

我正在尝试有效地使用散景的时间线图来可视化我的数据。任何人都可以帮助我解决这个问题或欢迎任何建议。

亲切的问候, 谢谢

好吧,要使用散景图而不是 matplotlib,您必须组织数据。我不能为你做,因为我没有你的文件。下面是一个将一些数据点绘制成圆圈的原型,欢迎使用。如果这不是你想要的,请查看散景 gallery,因为有一些 goog 示例。

from bokeh.plotting import output_notebook, figure, output_notebook, show
from bokeh.models import ColumnDataSource

output_notebook()

data = ColumnDataSource({'x':[1,2,3], 
                         'y':[10,30,20],
                         'color':['green', 'red', 'yellow']
                       })

p = figure(title='VFS and EXT4 layer READ/WRITE graph',
           x_axis_label = 'time(milliseconds)',
           y_axis_label = 'Amount of Data(bytes)',
          )

p.circle(x='x', y='y', color='color', source=data, legend_label='data')

show(p)