【问题标题】:Unable to create charts using bokeh无法使用散景创建图表
【发布时间】:2018-06-17 13:08:08
【问题描述】:

所以我在 Spyder 中使用以下代码来创建一个将显示在网络浏览器中的图表:

import pandas as pd
import numpy as np
from bokeh.plotting import figure, output_file, show

car = pd.read_csv('car_sales.csv')

Month = car['Month']
Sales = car['Sales']

output_file("bokeh_scatter_example.html", title="Bokeh Scatter Plot Example")

fig2 = figure(title="Bokeh Scatter Plot Example", x_axis_label='Month', 
              y_axis_label='Sales')

fig2.circle(Month, Sales, size=5, alpha=0.5)

show(fig2)

我意识到,如果 x 轴值为数字,则此代码有效。但是我的月份列是字符串格式,即一月、二月等,这是代码停止工作的时候。任何帮助,将不胜感激。谢谢。

编辑:car.head() 的输出 月销售额

1808 年 1 月 0 日

1251 年 2 月 1 日

3023 年 3 月 2 日 等等。

【问题讨论】:

标签: python-3.x charts bokeh interactive


【解决方案1】:

您的 X 轴本质上是分类的,因此需要特殊处理。你必须像这样创建一个图形:

fig2 = figure(title="Bokeh Scatter Plot Example", x_axis_label='Month', 
              y_axis_label='Sales',
              x_range=Month)

更多细节可以在这里找到:

https://docs.bokeh.org/en/latest/docs/user_guide/categorical.html

【讨论】:

  • 谢谢..但我仍然碰巧收到以下错误:E-1001 (BAD_COLUMN_NAME): Glyph 指的是不存在的列名:Sales [renderer: GlyphRenderer(id='e993c68c-1afd-479a- a312-0c629046407a', ...)]
  • @Dipyan 您可以将car.head() 的输出添加到问题中吗?
  • 好的,请检查一下。
  • @Dipyan 我已经更新了我的答案 - 现在它将 Month 转换为明确列出。如果我使用您提供的小数据集,它可以在 Bokeh 0.12.14dev3 上完美运行。
猜你喜欢
  • 2022-10-12
  • 1970-01-01
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
相关资源
最近更新 更多