javascript - 如何在plotly.js中为刻度提供普通标签(没有任何格式)

标签 javascript plotly

我正在尝试使用plotly.js 创建一个简单的线图,其中x 轴的值在100,000 的范围内。

为了显示数据,我使用的布局如下:

var layout = {
        xaxis:{
            title:"Numbers",
            tickangle:45,
            rangemode:'nonnegative',
            autorange:true,
            exponentformat: "none"
        },
        yaxis:{
            title: "Count of events",
            tickangle:45,
            rangemode:'nonnegative',
            autorange:true
        }
    };

我正在使用此布局绘制图表,如下所示:

Plotly.newPlot('myDiv',[sample_data],layout);

之前,刻度标签显示为 200k、205k 等。将“exponentformat”设置为“none”后,现在标签显示为 205,000 或 200,000。

我这里不需要任何“,”。事实上,如果没有任何格式就最好了。任何关于我如何做到这一点的帮助将不胜感激,因为我对plotly和JS非常陌生。

最佳答案

我不知道 Plotly 中有任何参数可以确保标签不变。 但至少覆盖自定义格式并删除 , 是非常简单的。您可以通过查找类 xtick 找到所有刻度,然后更改文本。

var data = [{
    x: [0, 10000, 100000],
    y: [1, 2, 3],
    type: 'scatter'
}];
var layout = {
    xaxis: {
        type: 'linear',
        exponentformat: 'none'
    }
};
Plotly.newPlot('myDiv', data, layout);

var g_ticks = Plotly.d3.selectAll('g.xtick');
for (var i = 0; i < g_ticks[0].length; i += 1) {
    g_ticks[0][i].childNodes[0].innerHTML = g_ticks[0][i].childNodes[0].innerHTML.replace(',', '')
}
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id='myDiv'></div>

关于javascript - 如何在plotly.js中为刻度提供普通标签(没有任何格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40654633/

相关文章:

javascript - Jqueryeach() 函数与 Ajax 循环

javascript - 如何编辑我的代码以使用 jQuery 在切换时将一个 div 的内容添加(而不是替换)到另一个 div

javascript - 当满足指定条件时立即退出 JavaScript 函数?

r - 如何使绘图轴仅显示整数

javascript - 如何在绘图中使颜色条的刻度值不均匀

python - Plotly:如何用共享的 x 轴绘制多条线?

javascript - jQuery 替换两个存在于 TD 中的 div 类

python - Plotly/Dash——范围过滤器在 hoverData 上重置

callback - 使用 plotly express 并在一页上有多个图形时,随机出现导入错误

c# - 自动计算TextBox的值