从折线图的字符串值(文本)制作 x 坐标
Making x coordinates from string values(text) for a line graph
我真的很努力学习d3,所以我希望你能帮助我解决这个问题。我想出了如何将数据缩放或映射到 y 坐标的 svg,因为该数据有数字。我将在下面向您展示我是如何做到的。但是对于 x 值,没有数字,只有像 1mo、2mo、3mo 这样的文本。等。。我想将它们转换为折线图的 x 坐标。它们应沿图形的宽度均匀分布。希望你能告诉我如何获取 x 坐标,以便我可以使用线生成器来创建路径。
var data = [
{"quarter" : "1mo", "votes" : 400},
{"quarter" : "2mo", "votes": 200},
{"quarter": "3mo", "votes" : 1000},
{"quarter" : "4mo", "votes" : 600}
]
var width = 600;
var height = 300;
//supposed to get the domain ([0, 1000])
var yscale = d3.scale.linear().domain([0, d3.max(data, function(d) {return d.votes})])
yscale.range([height, 0])
console.log(yscale(30)) //291
//now I need to get the x cordinates
您正在寻找 d3.scale.ordinal:
序数刻度具有离散域,例如一组名称或 类别。
var data = [
{"quarter" : "1mo", "votes" : 400},
{"quarter" : "2mo", "votes": 200},
{"quarter": "3mo", "votes" : 1000},
{"quarter" : "4mo", "votes" : 600}
],
width = 600;
var x = d3.scale.ordinal()
.domain( data.map(function(d){ return d.quarter }) ) //<-- a tick for every quarter
.rangeBands([0, width], .1); //<-- across the range of our graph with 10% padding on outer ticks
console.log(x("1mo"));
console.log(x("4mo"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 如何在d3.js中返回路径的y坐标
- 如何制作简单的php'在Javascript中的foreach等价物
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在谷歌地图上获取事件的x,y坐标
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 我怎样才能制作一个“;reverse preventDefault”;在jQuery中
- 如何在Chartjs中制作整数比例
- 使用node.js制作网站
- 制作一个regex来验证只有一个数字的字符串
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 将插件制作的Javascript包含到html按钮中
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 问题用moment JS制作一个简单的时间表
- 我想用datetimepicker制作相关的时间字段
- 从折线图的字符串值(文本)制作 x 坐标
- 如何在 Javascript 中制作动画,特别是使用 Raphael 库,将具有 x,y 坐标的圆移动到不同的 x1,y