【问题标题】:How to show all x-axis tick values in Plotly?如何在 Plotly 中显示所有 x 轴刻度值?
【发布时间】:2016-01-12 23:25:44
【问题描述】:

我正在使用这个库

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 标签。

有谁知道是什么设置启用了这个?我假设他们默认这样做了,因此文本标签不会相互重叠,但在我的情况下,我希望看到它们。

谢谢

【问题讨论】:

  • fig.update_xaxes(tickangle=-45, showticklabels = True, type = 'category')

标签: node.js scatter-plot plotly


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    使用layout.xaxis.dtick

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

    【讨论】:

    • 这是正确的答案。只需设置dtick:1,即可显示所有刻度标签。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      相关资源
      最近更新 更多