2

I want to have a line with text labels for the data points. I don't seem to get it working.

Here is an example of what I tried. The result, however, is that the text is horizontal instead of vertical...

Is this only possible with annotations? Or is there also a more direct way to do this (in the data itself)?

var trace1 = {
  x: [0, 1, 2],
  y: [1, 1, 1],
  mode: 'lines+markers+text',
  name: 'Lines, Markers and Text',
  text: ['Text A', 'Text B', 'Text C'],
  textposition: 'top',
  angle: 90, // NOT WORKING
  type: 'scatter'
};
var data = [trace1];
var layout = {showlegend: false};
Plotly.newPlot('myDiv', data, layout);
<head>
    <!-- Load plotly.js into the DOM -->
    <script src='https://cdn.plot.ly/plotly-2.4.2.min.js'></script>
</head>

<body>
    <div id='myDiv'><!-- Plotly chart will be drawn inside this DIV --></div>
</body>

1 Answer 1

1

Unfortunately you cannot specify the textangle in the trace for a scatter. As you said, textangle can only be modified using annotations.

Here is a small example of what you could do, looping through coordinates to make the annotations easier to construct (codepen is here):

var trace1 = {
  x: [0, 1, 2],
  y: [1, 1, 1],
  mode: 'lines+markers',
  type: 'scatter'
};

var data = [trace1];
var coordinates = [[0, 1, 2],[1, 1, 1]]
var text = ['Text A', 'Text B', 'Text C']
var annotations = []

for (let i = 0; i<coordinates[0].length; i++) {
  annotations.push({
    x: coordinates[0][i],
    y: coordinates[1][i],
    text: text[i],
    textangle: 90,
    showarrow: false
  })
}

var layout = {showlegend: false, annotations: annotations};
Plotly.newPlot('myDiv', data, layout);

enter image description here

Sign up to request clarification or add additional context in comments.

1 Comment

In the meantime, I indeed solved it using annotations. Thank you @Derek O!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.