如何为plotly.js

时间:2016-11-17 12:15:12

标签: 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" as" none",现在标签显示为205,000或200,000。

我不想要任何''这里。实际上,如果没有任何格式化,那将是最好的。关于我如何做到这一点的任何帮助将不胜感激,因为我对plotly和JS非常新。

1 个答案:

答案 0 :(得分:1)

我不知道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>