我有两个字符串数组:这两个数组包含要插入x
和y
轴的标签(这些标签将是热图的标签)。
nutsNames
对应x
轴(从左到右),yearsNames
对应y
轴(从上到下)。
由于数据可能会有所不同,我想创建一种适合数据的方法。
所以问题是轴上元素的定位和svg
大小。
我想得到的是这样的:
该图显示了两个不同数据的示例。 (我不想展示轴,我只是想了解它们的方向)。
这是plunker。
我想在nutsNames
找到最长的字符串并将其乘以常量(我不知道如何定义)来创建svg
的最小必要宽度。
我做了多年的类似事情。
显然代码不起作用。
答案 0 :(得分:1)
您可以为width
,height
和margins
输入一些虚拟数字,并让它先绘制元素。现在,由于您的所有轴标签都位于g
,因此width
和g
标签可以获得x
y
个。{/ p>
group<g>
标记将内容包装在其中,因此获取width/height
标记会自动为其提供width/height
内的最大text
。
现在您拥有width
的{{1}}和height
个,剩下的就是相应地更改g
的尺寸。
尝试在数据中添加或删除标签。这是您的Plunker