如何使用bokeh使用CSV为vbar提供数据?

时间:2019-01-29 22:31:14

标签: python csv bokeh

我正在尝试将Bokeh字形与CSV文件(或多个文件)中的数据一起使用。我知道我们可以使用CSV阅读器导入CSV,但是如何获取Bokeh以便将其用于字形?

from bokeh.plotting import figure, output_notebook, show

output_notebook()
colours = ["red","blue","green","purple","yellow","orange"]
import csv

with open("HomelessInIrelandNov18.csv") as file:
    reader = csv.DictReader(file,delimiter=',')
    for row in reader:
        if any (row[key] for key in row):
            print(row["REGION"], row["HOMELESS ADULTS"]
                  p=figure(x_range=ratings_categories,title="Homeless In Ireland 2018", plot_height=200)
                  p.vbar(x=row["REGION"], top = row["HOMELESS ADULTS"],width=0.9, color=colours)
show(p)

1 个答案:

答案 0 :(得分:0)

我想我在谷歌搜索了一下后发现自己正在使用dataset。我用pandas加载了csv文件,这是一个非常好的工具,用于加载和编辑CSV / Excel文件。我删除了所有循环,而是一次调用了Figure / vbar函数,并将数据作为Pandas系列加载。

#!/usr/bin/python3

from bokeh.plotting import figure, show, output_notebook
import pandas as pd
from bokeh.palettes import viridis

output_notebook()
df = pd.read_csv('HomelessInIrelandNov18.csv')
colours = viridis(len(df['REGION'].tolist()))
p=figure(x_range=df['REGION'],title="Homeless In Ireland 2018", plot_height=400, plot_width=800)
p.vbar(x=df["REGION"], top = df["HOMELESS ADULTS"],width=0.9, color=colours)
show(p)

Plot