diff --git a/site/src/components/Chart.jsx b/site/src/components/Chart.jsx
index 0e109d9..d5a9f0c 100644
--- a/site/src/components/Chart.jsx
+++ b/site/src/components/Chart.jsx
@@ -6,15 +6,25 @@ import * as d3 from "d3";
const Chart = (props) => {
const [ox, setOx] = useState("size");
const [oy, setOy] = useState([true, false]);
+ const [oyBuf, setOyBuf] = useState([true, false]);
const [graphType, setGraphType] = useState(0);
const handleSubmit = (event) => {
event.preventDefault();
setOx(event.target["ox"].value);
- setOy([event.target["oy"][0].checked, event.target["oy"][1].checked]);
+ setOy(oyBuf);
setGraphType(event.target["graphType"].value);
}
+ const handleCheckboxes = (event)=>{
+ let buf = [...oyBuf];
+ buf[Number(event.target.id)]=event.target.checked;
+ setOyBuf(buf);
+ console.log(buf)
+
+ }
+
+
const createArrGraph = (data, key) => {
const groupObj = d3.group(data, d => d[key]);
let arrGraph = [];
@@ -45,12 +55,12 @@ const Chart = (props) => {
OY value
- {(!oy[0] && !oy[1]) && Select at least one }
+ {(!oyBuf[0] && !oyBuf[1]) && Select at least one }
-
+
Min price
-
+
Max price
diff --git a/site/src/components/ChartDraw.jsx b/site/src/components/ChartDraw.jsx
index 8b24df8..c531377 100644
--- a/site/src/components/ChartDraw.jsx
+++ b/site/src/components/ChartDraw.jsx
@@ -25,8 +25,9 @@ function drawGraph(data, keyX, drawMin, drawMax, graphtype) {
const [scX, scY] = createAxis(svg, data, attr_area,[drawMin,drawMax]);
// рисуем график
-
- const scaleYDomain = d3.extent(data.map(d => d.values[1]));
+ const max = d3.max(data,d => d.values[Number(drawMax)]);
+ const min = d3.min(data,d => d.values[1-Number(drawMin)]);
+ const scaleYDomain = [min,max];
if (drawMin && drawMax){
createChart(svg, data, scX, scY, attr_area, "blue", 0,graphtype,0,scaleYDomain)
createChart(svg, data, scX, scY, attr_area, "red", 1,graphtype,0,scaleYDomain)
@@ -43,7 +44,7 @@ function createAxis(svg, data, attr_area, selections) {
// находим интервал значений, которые нужно отложить по оси OY
// максимальное и минимальное значение и максимальных высот по каждой стране
const max = d3.max(data,d => d.values[Number(selections[1])]);
- const min = d3.min(data,d => d.values[Number(1-selections[0])]);
+ const min = d3.min(data,d => d.values[1-Number(selections[0])]);
// console.log(max,min,data)
// функция интерполяции значений на оси
// по оси ОХ текстовые значения