在 NVD3 中按另一比例绘制一张图表
Draw one chart on the scale of another in NVD3
我有一张由 nvd3
图书馆制作的图表:
https://github.com/novus/nvd3/blob/master/examples/scatterChart.html
看起来像这样:
我想以与整个图表相同的比例分别绘制带有彩色区域的其他图表。因此,也就是说,橙色区域将显示在另一个图表上,而没有任何其他颜色区域。我想我需要获得包含所有彩色区域的图表的缩放比例,并将其输入到每个单独的区域中。我基本上想通过设置初始比例来避免重新缩放。任何建议将不胜感激。
更新:
我尝试使用答案中提出的方法将所有其他簇的颜色设置为 white
或 transparent
并仅保留所需的彩色区域,但我无法实现这是由于我也问过的另一个问题:React component instantiation issue
因此,我尝试深入研究 nvd3
scatterChart
代码,因为我们可以单击图例圆圈,相应的彩色区域会消失。所以,通过调用一些特定的 nvd3
scatterChart
函数,我们可以让这些区域消失,而无需大量新编写的代码,但我很难搞清楚。
如果您绘制完全相同的图表,但将所有区域(只有一个区域)的颜色更改为透明或白色,会怎样?
答案原来很简单。这是代码:
...
if (this.props.type === "marker") {
const domainX = [-174, 172];
const domainY = [169, -184];
chart.xDomain(domainX);
chart.yDomain(domainY);
}
d3.select(node)
.datum(data_func)
.call(chart);
...
我只需要使用 chart.xDomain
和 chart.yDomain
函数。以下线程回答了我的问题:
Changing the y-axis scale in nvd3
我有一张由 nvd3
图书馆制作的图表:
https://github.com/novus/nvd3/blob/master/examples/scatterChart.html
看起来像这样:
我想以与整个图表相同的比例分别绘制带有彩色区域的其他图表。因此,也就是说,橙色区域将显示在另一个图表上,而没有任何其他颜色区域。我想我需要获得包含所有彩色区域的图表的缩放比例,并将其输入到每个单独的区域中。我基本上想通过设置初始比例来避免重新缩放。任何建议将不胜感激。
更新:
我尝试使用答案中提出的方法将所有其他簇的颜色设置为 white
或 transparent
并仅保留所需的彩色区域,但我无法实现这是由于我也问过的另一个问题:React component instantiation issue
因此,我尝试深入研究 nvd3
scatterChart
代码,因为我们可以单击图例圆圈,相应的彩色区域会消失。所以,通过调用一些特定的 nvd3
scatterChart
函数,我们可以让这些区域消失,而无需大量新编写的代码,但我很难搞清楚。
如果您绘制完全相同的图表,但将所有区域(只有一个区域)的颜色更改为透明或白色,会怎样?
答案原来很简单。这是代码:
...
if (this.props.type === "marker") {
const domainX = [-174, 172];
const domainY = [169, -184];
chart.xDomain(domainX);
chart.yDomain(domainY);
}
d3.select(node)
.datum(data_func)
.call(chart);
...
我只需要使用 chart.xDomain
和 chart.yDomain
函数。以下线程回答了我的问题:
Changing the y-axis scale in nvd3