【问题标题】:Display given value in XY axis - Plotly在 XY 轴上显示给定值 - Plotly
【发布时间】:2018-07-13 11:55:48
【问题描述】:

我试图在 X 轴上显示 1,1.5,4,7,9,在 Y 轴上显示 2.5,1,5,3。当我尝试这样做时,我的输出就像1, 1.5, 2, 2.5,......,它基本上是我给出的值的细分。我只想要我在 XY 轴上给出的值,我不想要自动范围(滚动值)。

【问题讨论】:

标签: angular graph plotly


【解决方案1】:

假设您使用 JavaScript,因为您标记了 angular。

您必须设置三个属性才能使这项工作发挥作用:tickvalsticktexttickmode。在他们告诉你的文档中:

tickmode(枚举:“auto”|“linear”|“array”)
设置此轴的刻度模式。如果为“auto”,则通过nticks 设置刻度数。如果为“线性”,则刻度的位置由起始位置tick0 和刻度步长dtick 确定(如果提供了tick0dtick,则“线性”是默认值)。如果为“array”,则刻度的位置通过tickvals 设置,刻度文本为ticktext。 (如果提供了tickvals,则“array”是默认值)。

tickvals(数据数组) 设置此轴上出现刻度的值。仅当tickmode 设置为“数组”时才有效。与ticktext一起使用。

ticktext(数据数组) 通过tickvals 设置在刻度位置显示的文本。仅当tickmode 设置为“数组”时才有效。与tickvals 一起使用。

所以tickmode 表示您想使用自己的标签,tickvals 表示将这些标签放在哪里,ticktext 是您的标签。设置 tickvalsticktext 应该可以让 Plotly 推断出 tickmode 所以如果你愿意的话你应该可以省略它。使用类似以下的方法应该可以帮助您实现目标:

var layout = {
    xaxis: {
        tickmode: "array",
        tickvals: [1,1.5,4,7,9],
        ticktext: [1,1.5,4,7,9]
    },
    yaxis: {
        tickvals: [1,1.5,4,7,9],
        ticktext: [1,1.5,4,7,9]
    }
}

This example 应该有帮助。

【讨论】:

  • 如何为 x 轴设置间隔为 3 小时(即 12AM、3AM、6AM .....)的日期时间?
  • 您应该能够通过将tick0 设置为您的第一次然后设置tickd 来做到这一点。您必须设置tickmode: "linear"documentation
猜你喜欢
  • 2021-11-14
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
相关资源
最近更新 更多