我的温度范围是33到64华氏度.我试图找出横跨600像素的y轴59度的像素位置.这是一个柱形图.
完全披露,这是我已经努力了一段时间的功课,而且还没有弄清楚.
var scale = d3.scale.linear().domain([33,64]).range([0,64]);
Run Code Online (Sandbox Code Playgroud)
scale(59)返回53.677419354838705这是错误的答案.600 - 53.677419354838705也是错误的答案.
我可能会失踪什么?
谢谢.
Mat*_*eur 29
该结构域是完整的一组值,所以在这种情况下,也就是所有的温度下进行,从33到64.范围是该组的函数的结果值,在这种情况下,所得从0缩放您的温度下的值600.
所以你几乎就在那里,你只是使用了错误的范围 - 在这种情况下你的范围应该是y轴的范围(0 - 600):
var scale = d3.scale.linear().domain([33, 64]).range([0, 600]);
这将导致scale(59)给出一个输出503.2258064516129.
| 归档时间: |
|
| 查看次数: |
18774 次 |
| 最近记录: |