当我用“Cc>”(从BoKh)绘制数据时,我在可视化中得到了水平块的奇异线。数据打印正确,据我所知格式正确(rect()验证它们都是列表)。有人能诊断吗?如果问题不在这里,我可以附加更多的代码。(如果需要:在ubuntu 14.04上运行python 2.7.6) from bokeh.plotting import * from bokeh.objects import HoverTool, ColumnDataSource output_notebook() #All the same color just for testing colors = [ "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919", "#191919" ] x_2 = [] for i in trans_dat: x_2.append(i) y_2 = [] for i in trans_dat.index: y_2.append(i) colors_2 = [] kwordxstate_2 = [] for y in y_2: for x in x_2: kword_state = trans_dat[x][y] kwordxstate_2.append(kword_state) colors_2.append(colors[kword_state]) source = ColumnDataSource( data = dict( x_2=x_2, y_2=y_2, colors_2=colors_2, kwordxstate_2=kwordxstate_2, ) ) rect(x_2, y_2, 1,1, source=source, x_range=x_2, y_range=y_2, color=colors_2, line_color=None, tools="resize,hover,previewsave", title="Keywords by state", plot_width=900, plot_height=400) grid().grid_line_color = None axis().axis_line_color = None axis().major_tick_line_color = None axis().major_label_text_font_size = "10pt" axis().major_label_standoff = 0 xaxis().location = "top" xaxis().major_label_orientation = np.pi/3 show() 最佳答案 好的,我需要一个完整的例子来进一步挖掘。以下是一些可能会有帮助的一般评论: >和应按您希望它们在轴上的顺序,每个目录都是没有重复的类别的列表。trans_dat和x_range应该是每一个想要绘制的RCID的坐标。y_range和x应该是相同的长度。很快我感到奇怪的是,你对类别列表和坐标都在传递y和x。这通常是个错误。假设你有以下类别:X轴:yy轴:x_2这些是可以传递给y_2和["US", "Canada"]的。但是,如果您希望每个组合都有一个rect,那么您需要传递类似于["Tech", "Agriculture"]和x_range的内容:X:y_range是:x这将导致四个凹槽,每一个类别的一个。如果你想漏掉一些,没关系:X:y是:["US", "US", "Canada", "Canada"]现在,“加拿大”、“技术”的协调不会有任何变化。这与数值情况类似:x和y轴的范围可能是[0,10]和[1,2]。但坐标取自这两个范围的乘积,比如(0,1.5)或(5.5,2)。这是否区分了范围参数(哪些是可能的类别列表)和坐标参数(哪些是您想要绘制字形的类别的组合)更清楚?如果我可以添加更多信息,请告诉我。 08-25 00:35