我们正在尝试使用Bokeh进行数据可视化,并使用Panda读取CSV,从一个简单的CSV文件绘制一个带有两列的圆形图。以下是我们的CSV文件数据,我们计划在其中绘制图形标签X轴和平均Y轴。但是,它绘制的是空图。
以下是我们的python脚本
from bokeh.plotting import figure, output_file, show
import pandas as pd
from bokeh.models import DatetimeTickFormatter, ColumnDataSource
from bokeh.models.tools import HoverTool
output_file('columndatasource_example.html')
df = pd.read_csv(r"E:/MySpace/pythonTest/aggregate3.csv")
sample= df.sample(5)
source = ColumnDataSource(sample)
#print(df.columns.tolist())
p = figure()
p.circle(x='Label', y='Average',
source=source,
size=5, color='green')
p.title.text = 'BPM Load test results'
p.xaxis.axis_label = 'Request name'
p.yaxis.axis_label = 'Response time in miliseconds'
hover = HoverTool()
hover.tooltips=[
('Request Name', '@Label'),
('Response Time', '@Average'),
('Throughput', '@Throughput')
]
p.add_tools(hover)
show(p)
答案 0 :(得分:0)
我认为您需要将“标签”列重组为数字,以实现bokeh所需的功能。我的意思是,如果您尝试使用数字变量而不是df ['label']进行完全相同的操作,它将被绘制。当然,在这种情况下,最终需要用所需的值重新标记x轴。如果您提供的csv文件,您将获得更多帮助。但是我认为必须做一些等效的事情。...
axios.interceptors.response.use((null:any), (error: any) => {
//didnt work
然后使用df ['labels_tran']作为x轴进行绘制