Плотное наведение текста не отображается


Хотя я указал text и hoverinfo,я не получаю никакой аннотации при наведении.

Если я закомментирую атрибут "text", я получу поведение по умолчанию hoverinfo: "x+y". Я также пробовал hoverinfo: "text" и hoverinfo: "x+text" (чего я действительно хочу), но они не меняют поведение.

Https://jsfiddle.net/abalter/0cjprqgy/

var data =
{
    "x":["2014-02-10 00:00:00.0","2014-02-18 00:00:00.0","2014-02-24 00:00:00.0"],
  "y":[0,0,0],
  "text":["gemcitabine","gemcitabine + Abraxane","Xeloda"],
  "hoverinfo": "all",
  "name":"Treatment",
  "type":"scatter",
  "mode":"markers",
  "marker":
  {
    "size":9,
    "color":"#800000"
    },
  "uid":"c2e171"
};

var layout = 
{
    "title":"Treatments",
  "height":600,
  "width":655,
  "autosize":true,
  "yaxis":
  {
    "titlefont":
    {
        "size":12,
      "color":"#800000"
    },
    "domain":[0.85,0.9],
    "showgrid":false,
    "showline":false,
    "showticklabels":false,
    "zeroline":true,
    "type":"linear",
    "range":[0,0],
    "autorange":true
  },
  "hovermode":"closest",
  "xaxis":
  {
    "type":"date",
    "range":[1389215256994.8186,1434909143005.1814],
    "autorange":true
  }
};

Plotly.plot('graph', [data], layout);
1 3

1 ответ:

Во-первых, спасибо, что позволили мне открыть для себя эту действительно классную графическую платформу! Я проверил документацию, чтобы узнать, как данные должны быть отформатированы (здесь: https://plot.ly/javascript/hover-events/#coupled-hover-events-on-single-plot )... и "играл" с тобой на скрипке.

Во-первых, я удалил все ненужные двойные кавычки, которые у вас там были, обернул имена param и поместил ваши массивы значений вне массива "data". Я не знаю, является ли это частью проблема... Я просто попытался отформатировать его как пример, который я нашел.

" x+y+text "внезапно появился , Когда я играл с параметром "domain".
Я не знаю, что это на самом деле определяет.
Повторяю, у меня есть 10-минутный опыт работы с этой штукой. (lol)

Проверьте это обновление, которое я сделал для вашей скрипки: https://jsfiddle.net/0cjprqgy/6/

var dates = ["2014-02-10 00:00:00.0","2014-02-18 00:00:00.0","2014-02-24 00:00:00.0"],
  qty = ["0.2","0.5","1"],
  product = ["gemcitabine","gemcitabine + Abraxane","Xeloda"],
data =
{
  x:dates,
  y:qty,
  text:product,
  hoverinfo: "x+y+text",
  name:"Treatment",
  type:"scatter",
  mode:"markers",
  marker:
  {
    size:9,
    color:"#800000"
    },
  uid:"c2e171"
};

var layout = 
{
  title:"Treatments",
  height:600,
  width:655,
  autosize:true,
  yaxis:
  {
    titlefont:
    {
      size:12,
      color:"#800000"
    },
    domain:[0.85,1.9],
    showgrid:false,
    showline:false,
    showticklabels:false,
    zeroline:true,
    type:"linear",
    range:[0,0],
    autorange:true
  },
  hovermode:"closest",
  xaxis:
  {
    type:"date",
    range:[1389215256994.8186,1434909143005.1814],
    autorange:true
  }
};

Plotly.plot('graph', [data], layout);