Bokeh核心验证错误:找到重复的因素

问题描述 投票:0回答:1

运行Bokeh脚本时收到此错误:

错误:bokeh.core.validation.check:E-1019(DUPLICATE_FACTORS):FactorRange必须为轴指定唯一的分类因子列表:找到重复的因子:'265','299']

我以前从未收到过此错误消息。我在多个不同的表上使用了脚本,因此我不确定会发生什么。我的SQL脚本唯一的区别是,我使用DATEADD(month,-1,GETDATE())而不是DATEADD(day,-30,GETDATE())来获取时间范围,但是我无法想象这会影响Bokeh脚本并创建重复值。

这是我的代码:

import os
import pandas as pd
import pyodbc
from bokeh.plotting import figure, show
from bokeh.io import export_png
from bokeh.models import ColumnDataSource, Title, FixedTicker

conn = pyodbc.connect('Driver={};'
                        'Server=server;'
                        'Database=db;'
                        'Trusted_Connection=no;'
                        'UID=username;'
                         'PWD=password;')

cursor = conn.cursor()
cursor.execute('SELECT * FROM [P21].[dbo].[UPS_shipment_daily_month]');
rows = cursor.fetchall()

str(rows)

df = pd.DataFrame( [[ij for ij in i] for i in rows] )
df.rename(columns={0: 'Count', 1: 'Date'}, inplace = True);
df.head()
df['Date'] = list(map(str, df['Date']))

ds = ColumnDataSource(df)
p = figure(x_range = df['Date'], plot_height = 800, plot_width = 1600, title = "30 Day Shipment Trend", toolbar_location=None, tools="")

p.line(source=ds, x='Date', y='Count', color="#87CEFA", line_width=8)

p.xaxis.axis_label = "Date"
p.xaxis.axis_label_standoff = 30
p.xaxis.axis_label_text_font_style = "normal"
p.yaxis.axis_label = "Number of Orders"
p.yaxis.axis_label_standoff = 30
p.yaxis.axis_label_text_font_style = "normal"
p.xaxis.axis_label_text_font_size = "15pt"
p.yaxis.axis_label_text_font_size = "15pt"
p.yaxis.major_label_text_font_size = "12pt"
p.xaxis.major_label_text_font_size = "8pt"

p.title.align = 'center'
p.title.text_font_size = '20pt'


p.xgrid.grid_line_color = None

p.y_range.start = 0

show(p)

感谢您提供的任何帮助!

我在运行Bokeh脚本时收到此错误:ERROR:bokeh.core.validation.check:E-1019(DUPLICATE_FACTORS):FactorRange必须为轴明确指定类别因子的唯一列表:重复...

python pandas bokeh
1个回答
0
投票

您正在使用日期字符串作为分类坐标。很好,但是在配置范围时,需要提供唯一坐标值的列表,并希望它们在轴上出现的顺序。看:

© www.soinside.com 2019 - 2024. All rights reserved.