Боке и панды - построение пустого графика чтения данных из CSV - PullRequest
0 голосов
/ 18 июня 2019

Мы пытаемся построить круговую диаграмму из простого файла CSV с двумя столбцами, используя Bokeh для визуализации данных и Panda для чтения CSV. Ниже приведены данные нашего CSV-файла, на которых мы планируем построить график с меткой X-ось и средняя Y-ось. Однако его построение пустой график.

enter image description here

Ниже приведен наш скрипт на питоне

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)

1 Ответ

0 голосов
/ 22 июня 2019

Я думаю, что вам нужно изменить структуру столбца «label» как числа, чтобы достичь того, что вам нужно с помощью bokeh.Я имею в виду, что если вы попытаетесь сделать то же самое с числовой переменной вместо df ['label'], она будет построена.В этом случае, конечно, вам, наконец, нужно пометить ось х желаемыми значениями.Если вы предоставите CSV-файл, вы получите дополнительную помощь.Но я думаю, что-то эквивалентное этому должно быть сделано ....

labels0 = df['Label'].tolist()
un_labels = list(sorted(set(df['Label'])))
labels_tran = []
for label in labels0:
    labels_tran.append(un_labels.index(label))
df['labels_tran'] = labels_tran

и затем построить график, используя df ['label_tran'] в качестве оси x

...