如何在Plotly中显示所有x轴刻度值?

ome*_*ega 5 scatter-plot node.js plotly

我正在使用这个库

https://plot.ly/nodejs/axes/

在node.js中绘制图形 我有这个代码:

var data = [
  {
    x: xs,
    y: ys,
    type: "scatter"
  }
];

var graphOptions = {filename: "date-axes", fileopt: "overwrite"};
plotly.plot(data, graphOptions, function (err, msg) {
    console.log(msg);
    console.log("DONE!");
});
Run Code Online (Sandbox Code Playgroud)

绘制具有5000个x轴点的图形.问题在于,在渲染图像中,对于每个放入的值,x轴值不会连续递增.例如,如果x轴标签是一个相当大的步骤

['item1', 'item2', ..., 'item5000']
Run Code Online (Sandbox Code Playgroud)

然后用标签输出

['item1', 'item10', ..., 'item5000']

所有的yaxis点都在那里,但我只想看到所有的x-axis标签.

有谁知道什么设置可以实现这一点?我假设他们默认这样做,所以文本标签不会相互重叠,但在我的情况下,我想看到它们全部.

谢谢

Fin*_*und 8

我使用Python,虽然我遇到了同样的问题.当你指定图表的布局时,你需要设置tickmode ='linear',至少它对我有用!

import plotly 
import plotly.plotly as py
import plotly.graph_objs as go

layout = go.Layout(
    title='some title',
    xaxis=dict(
        title='Xaxis Name',
        tickmode='linear')
Run Code Online (Sandbox Code Playgroud)

  • 在 python 中,这也适用:“fig.update_xaxes(tickmode='linear')” (6认同)

pol*_*con 7

我遇到了同样的问题,并设法解决了它:技巧是将 xaxis 上的值定义为“分类”。这就是我的代码的样子:

var layout = {
        xaxis: {
            tickangle: 35,
            showticklabels: true,
            type: 'category',
        }
    };
    Plotly.newPlot(divname, data, layout);
Run Code Online (Sandbox Code Playgroud)


etp*_*ard 6

layout.xaxis.dtick

这里的例子:https : //plot.ly/nodejs/axes/

  • 这是正确的答案。只需设置“dtick:1”,即可显示所有刻度标签。 (4认同)