import React from "react"; import { FrontendForecast } from "../platforms"; import * as V from "victory"; import { HistoryChartFlyout } from "./HistoryChartFlyout"; import { VictoryBar, VictoryLabel, VictoryTooltip, VictoryLine, VictoryScatter, VictoryChart, VictoryTheme, VictoryAxis, VictoryGroup, VictoryVoronoiContainer, } from "victory"; interface Props { question: FrontendForecast; history: number[]; } const data0 = [ { date: 1, probability: 0.1 }, { date: 2, probability: 0.2 }, { date: 3, probability: 0.4 }, { date: 4, probability: 0.6 }, { date: 5, probability: 0.6 }, { date: 6, probability: 0.65 }, { date: 7, probability: 0.65 }, { date: 8, probability: 0.65 }, { date: 9, probability: 0.7 }, ]; let l = 5; const data = Array.from(Array(l).keys()).map((x) => ({ date: x, probability: x / l, })); let getDate = (x) => { let date = new Date(x); return date.toISOString().slice(5, 10).replaceAll("-", "/"); }; let dataAsXy = data.map((datum) => ({ x: getDate(datum.date * (1000 * 60 * 60 * 24)), y: datum.probability, })); export const HistoryChart: React.FC = ({ question, history }) => { return ( } domain={{ y: [0, 1], }} > `${datum.x}: ${Math.round(datum.y * 100)}%`} labelComponent={ } > (active ? 3.75 : 3)} /> datum.date)} tickCount={10} tickFormat={dataAsXy.map((datum) => datum.x)} style={{ grid: { stroke: null, strokeWidth: 0.5 }, }} tickLabelComponent={ } /> `${x * 100}%`} style={{ grid: { stroke: "#D3D3D3", strokeWidth: 0.5 }, }} /> ); }; /* } > ({ x: datum.date, y: datum.probability }))} labels={data.map((datum) => `1%`)} style={{ labels: { fill: "black", fontSize: 10 } }} labelComponent={ } > */