需要将两个数据集合并为一个,以便可以在图形中同时显示它们。为此使用BizCharts。 不想添加两个图表,而只想在一个图表中进行投影。只需要严格使用BizCharts。如何将两个数据集合并为一个?
我尝试使用以下代码。
import {
G2,Chart,Geom,Axis,Tooltip,Coord,Label,Legend,View,Guide,Shape,Facet,Util
} from "bizcharts";
import DataSet from "@antv/data-set";
class Areanull extends React.Component {
render() {
var data = [
{
year: "1986",ACME: 162,Compitor: 42
},{
year: "1987",ACME: 134,Compitor: 54
},{
year: "1988",ACME: 116,Compitor: 26
}
];
var data2 = [
{
year: "1986",ACME: 165,Compitor: 47
},ACME: 120,Compitor: 40
},ACME: 140,Compitor: 12
},{
year: "1989",ACME: 130,{
year: "1990",ACME: 195,Compitor: 55
}
];
var dv = new DataSet.View().source(data);
var dc = new DataSet.View().source(data2);
console.log("This works");
console.log(dc);
dv.transform({
type: "fold",fields: ["ACME","Compitor"],key: "type",value: "value"
});
dc.transform({
type: "fold",value: "value"
});
console.log("dc Transformed!");
console.log(dc);
const scale = {
value: {
alias: "The Share Price in Dollars",formatter: function(val) {
return "$" + val;
}
},year: {
range: [0,1]
}
};
return (
<div>
<Chart
height={window.innerHeight}
data={dc}
padding={"auto"}
scale={scale}
forceFit
>
<Tooltip crosshairs />
<Axis />
<Legend />
<Geom type="area"
position="year*value"
color="type"
shape="smooth"
/>
<Geom
type="line"
position="year*value"
color="type"
shape="smooth"
size={2}
/>
</Chart>
</div>
);
}
}
ReactDOM.render(<Areanull />,mountNode)