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

时间:2016-01-12 23:25:44

标签: node.js scatter-plot 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!");
});

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

,则有一个相当大的步骤
['item1', 'item2', ..., 'item5000']

然后输出标签

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

所有yaxis积分都在那里,但我只想查看所有x-axis标签。

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

由于

3 个答案:

答案 0 :(得分:6)

我正在使用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')

答案 1 :(得分:3)

使用layout.xaxis.dtick

此处示例:https://plot.ly/nodejs/axes/

答案 2 :(得分:0)

我遇到了同样的问题,并且设法解决了:诀窍是将xaxis上的值定义为“类别”。 这是我的代码:

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