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

2024-04-27 12:39:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Bokeh glyphs从一个CSV文件(或多个文件)的数据。我知道我们可以使用CSV阅读器导入CSV,但是我怎样才能让Bokeh将它用于glyphs呢?你知道吗

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)

Tags: 文件csvimportforoutputshowbokehreader
1条回答
网友
1楼 · 发布于 2024-04-27 12:39:30

我想我在谷歌搜索后找到了你正在使用的dataset。我用pandas加载了csv文件,这是一个非常好的工具来加载和编辑csv/Excel文件。我删除了所有的循环,只调用了一次figure/vbar函数,并将数据作为一个系列加载。你知道吗

#!/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

相关问题 更多 >