Siv*_*iva 11 javascript d3.js nvd3.js
我目前正在使用NVD3制作几个折线图.我想知道是否有可能使y轴滴答始终从0开始.目前它总是从最低的y值开始.我尝试过使用tickValues,但我不想更改其他值.我还试图添加一个值为0的数据点,但这似乎是一种解决方法,它会影响图形的外观.有任何想法吗?
Wol*_*des 29
大多数图表都有一个forceX和forceY函数,它们采用一组值.你可以像这样使用它:
var chart = nv.models.lineChart();
chart.forceX([0, 10])
chart.forceY([-1, 1])
Run Code Online (Sandbox Code Playgroud)
这将确保您的xAxis上始终显示至少0和10,但如果您直接操作它,则不会限制域.那就是你做的事情:
chart.yAxis.scale().domain([0, maxValue]);
Run Code Online (Sandbox Code Playgroud)
并且您的数据具有负值X值,这些值不会显示在图表上,因为它们将超出指定的域,但如果您使用forceX,它们将会出现.
您不需要添加"虚拟"数据点,您只需调整比例的输入域,例如
chart.yAxis.scale().domain([0, maxValue]);
Run Code Online (Sandbox Code Playgroud)