使Vega-Lite条形标记相邻

时间:2019-04-05 22:01:52

标签: vega-lite altair

我正在Vega-Lite(使用Altair生成)中制作条形图。使用Vega-View API,我编写了一些代码,用户可以在其中选择条形,这些条形会更改这些条形的颜色(以及在应用程序中的其他位置进行其他操作;细节对于这个问题并不重要)。 / p>

我的问题是这个。使用5的默认continuousBandSize时,缩小时,这些条似乎在水平方向上彼此“重叠”。 Here's a screenshot of this problem. 通过将continuousBandSize设置为1可以解决此问题,但是问题是,当您放大图表时,这些条变得非常细,用户很难选择。 (此外,由于默认情况下我将条形着色为灰色,因此它们很难与可视化效果后面的网格区分开;如果可能的话,我宁愿保留网格。)Here's a screenshot of this problem.

是否可以在任何缩放级别上使Vega-Lite中的条形标记相邻?还是不可行?

对此问题的先前研究

在Vega-Lite的GitHub页面here中,提到了钢筋太细的问题,但该问题似乎解决了另一个问题(钢筋在可视化之外)。

我已经研究过使用paddingpaddingInnerpaddingOuter(如the Vega-Lite documentation和对this question的回答中所述),成功。在this answer上(未回答)的注释中也出现了尺寸增加导致条形重叠的问题。

Vega-Lite规范示例

在Vega编辑器{{3中,提供了一个示例规范示例,其中显示了我正在处理的图的子集(continuousBandSize设置为1,以显示“细条”问题)。 }}(对长网址表示歉意)。如上所述,如果将continuousBandSize设置为1时放大得太远,则灰色条会变得很细,很难看清。而且,如果您将continuousBandSize设置为2或以上,并且缩小得太远,则条形图开始相互重叠(蓝色条形图开始逐渐被灰色“覆盖”)右边的小节-在这里不是超级可见,因为这只是整个图的一个子集,但是当有大约500个小节时,问题就更加明显了。

谢谢!

2 个答案:

答案 0 :(得分:2)

在图表中,您将x比例类型设置为定量,这会导致条形非常细:

enter image description here

如果将x比例尺设置为ordinal,则条形填充该空间:

enter image description here

通常,条形图对非连续数据的效果更好。

答案 1 :(得分:1)

我遇到了同样的问题。 FWIW,文档确实指定了这种行为,尽管我花了一段时间才找到它:effect of datatype on xaxis scales