Plotly - 从第一个数据点开始X轴

时间:2017-04-01 11:59:35

标签: javascript r plot plotly

在此plotly example中,

第一个日期是1月1日,

var trace1 = {
  x: ['2000-01-01',

但是,图表上显示的第一个标签是1月2日。enter image description here

有没有办法强制图表从1月1日开始?

1 个答案:

答案 0 :(得分:0)

您有几种方法可以指定x轴的第一个刻度值。

tick0dticks

一起使用
var layout = {
  xaxis: {
    tick0: '2000-01-01',
    dtick: 7*24*60*60*1000 // 7 days
  };

或自己完全设置tickvals

var layout = {
  xaxis: {
    tickvals: ['2000-01-01', '2000-01-15', '2000-01-31']
  };

var trace1 = {
  x: ['2000-01-01', '2000-01-02', '2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06', '2000-01-07', '2000-01-08', '2000-01-09', '2000-01-10', '2000-01-11', '2000-01-12', '2000-01-13', '2000-01-14', '2000-01-15', '2000-01-16', '2000-01-17', '2000-01-18', '2000-01-19', '2000-01-20', '2000-01-21', '2000-01-22', '2000-01-23', '2000-01-24', '2000-01-25', '2000-01-26', '2000-01-27', '2000-01-28', '2000-01-29', '2000-01-30', '2000-01-31'],
  y: [4.3, 8.2, 4.1, 5.6, -3, -0.2, 0.3, 0.4, 4.1, 5, 4.6, -0.2, -8.5, -9.1, -2.7, -2.7, -17, -11.3, -5.5, -6.5, -16.9, -12, -6.1, -6.6, -7.9, -10.8, -14.8, -11, -4.4, -1.3, -1.1],
  mode: 'lines',
  type: 'scatter',
  name: '2000'
};

var data = [trace1];

var layout = {
  xaxis: {
    type: 'date',
    title: 'January Weather',
    tick0: '2000-01-01',
    dtick: 7 * 24 * 60 * 60 * 1000
  },
  yaxis: {
    title: 'Daily Mean Temperature'
  },
  title:'2000 Toronto January Weather'
};

Plotly.plot('myDiv', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="myDiv" style="width:100%;height:400px;"></div>