在图例

时间:2015-10-13 21:21:45

标签: plotly

As a follow on to a previous question

假设我想显示一组条形图,其中每个条形图可以是其中一个选项:A,B或C,每个条形图都有不同的颜色。我想显示条形图,但如果条形图属于特定类别,则仍然会在图例中显示该类别。不幸的是,没有颜色的类别似乎被丢弃了。请注意,在此示例中,如何从图例中删除标记为“C”的类别为蓝色:

data = [
{
x: [1, 3, 4],
y: [20, 14, 23],
type: 'bar',
name: 'A',
marker: {color: '#00FFFF'}},
{
x: [2, 5, 6],
y: [8, 6, 2],
type: 'bar',
name: 'B',
marker: {color: '#FF00FF'}},
{
x: [],
y: [],
type: 'bar',
name: 'C'
marker: {color: '#FF0000'}}]

Category C is not shown

我怎样才能确保C(或任何没有数据的颜色)始终显示?

2 个答案:

答案 0 :(得分:6)

假设具有空数据数组的跟踪不可见。这相当于在跟踪对象中设置visible: false

您可以通过在数据数组中输入null值来绘制图形:

data = [{
  x: [1, 3, 4],
  y: [20, 14, 23],
  type: 'bar',
  name: 'A',
  marker: {color: '#00FFFF'}
}, {
  x: [2, 5, 6],
  y: [8, 6, 2],
  type: 'bar',
  name: 'B',
  marker: {color: '#FF00FF'}
}, {
  x: [null],
  y: [null],
  type: 'bar',
  name: 'C'
  marker: {color: '#FF0000'}
}]

给出了

enter image description here

答案 1 :(得分:0)

您可以使用零高度的数据点添加初始化第三个轨迹:

{'x': [0], 'y': [0], 'type': 'bar'}

Bar chart example with plotly 互动示例:https://plot.ly/~chris/16792.embed

如果没有数据,您也可能想要删除悬停文本。使用hoverinfo(https://plot.ly/python/reference/#bar-hoverinfo)自定义悬停文本。

{'x': [0], 'y': [0], 'type': 'bar', 'hoverinfo': 'none'}

示例图表:https://plot.ly/~chris/16795.embed