Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Plotly.js添加标记会向x轴添加填充_Javascript_D3.js_Plotly - Fatal编程技术网

Javascript Plotly.js添加标记会向x轴添加填充

Javascript Plotly.js添加标记会向x轴添加填充,javascript,d3.js,plotly,Javascript,D3.js,Plotly,在向折线图添加标记时,是否有方法防止Plotly更改x轴上的填充。 请参阅下面的两个片段。唯一的区别是第24行,“行”更改为“行+标记” 第一个不带标记的代码段: 变量布局={ xaxis:{ 这是真的, 勾选模式:“自动”, nticks:15, 角度:45, rangemode:'tozero', }, }; 变量trace1={ x:[“第1周”、“第2周”、“第3周”、“第4周”、“第5周”、“第6周”、“第7周”、“第8周”], y:[10,15,13,17,10,15,13,17]

在向折线图添加标记时,是否有方法防止Plotly更改x轴上的填充。 请参阅下面的两个片段。唯一的区别是第24行,
“行”
更改为
“行+标记”

第一个不带标记的代码段:

变量布局={
xaxis:{
这是真的,
勾选模式:“自动”,
nticks:15,
角度:45,
rangemode:'tozero',
},
};
变量trace1={
x:[“第1周”、“第2周”、“第3周”、“第4周”、“第5周”、“第6周”、“第7周”、“第8周”],
y:[10,15,13,17,10,15,13,17],
键入:“散布”,
模式:“行”,
};
var数据=[trace1];
Plotly.newPlot('myDiv',数据,布局);

这有点让人困惑,因为实际上y轴是关闭的。 无论如何,可以通过将
yaxis
设置为
showgrid:false
然后偏移上方的
yaxis层来重新定位标签来解决此问题

这可以在css中完成,就像我所做的那样,也可以在Javascript中完成

我可能在这里没有相同的像素(设置为102px),但你应该明白了


.Yaxis上一层{
转换:转换(102px,100px);
}
变量布局={
亚克斯:{
showgrid:false,
},
xaxis:{
这是真的,
勾选模式:“自动”,
nticks:15,
角度:45,
rangemode:'tozero',
},
};
变量trace1={
x:[“第1周”、“第2周”、“第3周”、“第4周”、“第5周”、“第6周”、“第7周”、“第8周”],
y:[10,15,13,17,10,15,13,17],
键入:“散布”,
模式:“行+标记”,
};
var数据=[trace1];
Plotly.newPlot('myDiv',数据,布局);

我也遇到了同样的问题,我找到的解决方案是将
自动范围设置为
并指定x轴
范围。见:

固定示例:


变量布局={
xaxis:{
这是真的,
勾选模式:“自动”,
nticks:15,
角度:45,
rangemode:'tozero',
范围:[0,7]
},
};
变量trace1={
x:[“第1周”、“第2周”、“第3周”、“第4周”、“第5周”、“第6周”、“第7周”、“第8周”],
y:[10,15,13,17,10,15,13,17],
键入:“散布”,
模式:“行+标记”,
};
var数据=[trace1];
Plotly.newPlot('myDiv',数据,布局);

你能说得更具体些吗?在chrome(Windows/Mac/Linux)上,x轴上的填充是相同的。我甚至把它们都保存为图像并叠加在一起——除了顶点上的点,它们是相同的。您认为哪种浏览器/操作系统有区别?你能发布一个截图吗?我添加了一个截图,显示了不同之处。我在Chrome(Windows)上。明白了,我想我有一个不错的答案给你…谢谢。绝对是个好答案。然而,它仍然在做同样的事情,改变x轴。现在我们只是移动y轴,所以它不那么明显。在这个玩具示例中,它并没有太大的区别——但在我的实际用例中,它非常明显。看这个:听起来不错。期待着看到答案。谢谢只是一个肿块。我很乐意看到你的建议。@Wessi-嗯,我还在玩它-我的想法有点做作…只要把问题保持开放,我会在有机会的时候玩它。奇怪的是,它们的缩放方式不同-没有真正的原因,我们将仔细查看plotlyjs源代码并找到它的底部…请注意,当提供了
range
时,
autorange
会自动设置为
False