Upload index.html with huggingface_hub
Browse files- index.html +16 -2
index.html
CHANGED
|
@@ -940,6 +940,8 @@
|
|
| 940 |
this.id = id;
|
| 941 |
this.el = {};
|
| 942 |
this.collapsed = false;
|
|
|
|
|
|
|
| 943 |
this.build();
|
| 944 |
}
|
| 945 |
|
|
@@ -1681,12 +1683,15 @@
|
|
| 1681 |
hoverlabel: { namelength: -1 },
|
| 1682 |
xaxis: {
|
| 1683 |
title: { text: 'Tokens Trained', font: { size: 12 } },
|
| 1684 |
-
tickfont: { size: 10 }, tickvals:
|
|
|
|
| 1685 |
gridcolor: '#e9ecef', zeroline: false,
|
|
|
|
| 1686 |
},
|
| 1687 |
yaxis: {
|
| 1688 |
title: { text: 'Score', font: { size: 12 } },
|
| 1689 |
-
tickfont: { size: 10 }, gridcolor: '#e9ecef', zeroline: false,
|
|
|
|
| 1690 |
},
|
| 1691 |
legend: { orientation: 'h', yanchor: 'top', y: -0.15, x: 0, font: { size: 11 } },
|
| 1692 |
margin: { t: 50, r: 20, b: 100, l: 50 },
|
|
@@ -1704,8 +1709,16 @@
|
|
| 1704 |
const r0 = evt['xaxis.range[0]'];
|
| 1705 |
const r1 = evt['xaxis.range[1]'];
|
| 1706 |
if (r0 != null && r1 != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1707 |
tv = niceTicks(r0, r1, maxXTicks);
|
| 1708 |
} else if (evt['xaxis.autorange']) {
|
|
|
|
|
|
|
|
|
|
| 1709 |
tv = niceTicks(xMin, xMax, maxXTicks);
|
| 1710 |
}
|
| 1711 |
if (tv) {
|
|
@@ -1780,6 +1793,7 @@
|
|
| 1780 |
xaxis: {
|
| 1781 |
title: { text: 'Score', font: { size: 12 } },
|
| 1782 |
tickfont: { size: 10 }, gridcolor: '#e9ecef', zeroline: false,
|
|
|
|
| 1783 |
},
|
| 1784 |
yaxis: {
|
| 1785 |
tickfont: { size: 11 }, automargin: true,
|
|
|
|
| 940 |
this.id = id;
|
| 941 |
this.el = {};
|
| 942 |
this.collapsed = false;
|
| 943 |
+
this._zoomXRange = null;
|
| 944 |
+
this._zoomYRange = null;
|
| 945 |
this.build();
|
| 946 |
}
|
| 947 |
|
|
|
|
| 1683 |
hoverlabel: { namelength: -1 },
|
| 1684 |
xaxis: {
|
| 1685 |
title: { text: 'Tokens Trained', font: { size: 12 } },
|
| 1686 |
+
tickfont: { size: 10 }, tickvals: this._zoomXRange ? niceTicks(this._zoomXRange[0], this._zoomXRange[1], maxXTicks) : tickVals,
|
| 1687 |
+
ticktext: formatTokensArray(this._zoomXRange ? niceTicks(this._zoomXRange[0], this._zoomXRange[1], maxXTicks) : tickVals),
|
| 1688 |
gridcolor: '#e9ecef', zeroline: false,
|
| 1689 |
+
...(this._zoomXRange ? { range: [...this._zoomXRange], autorange: false } : {}),
|
| 1690 |
},
|
| 1691 |
yaxis: {
|
| 1692 |
title: { text: 'Score', font: { size: 12 } },
|
| 1693 |
+
tickfont: { size: 10 }, gridcolor: '#e9ecef', zeroline: false,
|
| 1694 |
+
...(this._zoomYRange ? { range: [...this._zoomYRange], autorange: false } : { autorange: true }),
|
| 1695 |
},
|
| 1696 |
legend: { orientation: 'h', yanchor: 'top', y: -0.15, x: 0, font: { size: 11 } },
|
| 1697 |
margin: { t: 50, r: 20, b: 100, l: 50 },
|
|
|
|
| 1709 |
const r0 = evt['xaxis.range[0]'];
|
| 1710 |
const r1 = evt['xaxis.range[1]'];
|
| 1711 |
if (r0 != null && r1 != null) {
|
| 1712 |
+
// User zoomed/panned — save the range
|
| 1713 |
+
this._zoomXRange = [r0, r1];
|
| 1714 |
+
const yr0 = evt['yaxis.range[0]'];
|
| 1715 |
+
const yr1 = evt['yaxis.range[1]'];
|
| 1716 |
+
if (yr0 != null && yr1 != null) this._zoomYRange = [yr0, yr1];
|
| 1717 |
tv = niceTicks(r0, r1, maxXTicks);
|
| 1718 |
} else if (evt['xaxis.autorange']) {
|
| 1719 |
+
// User double-clicked to reset — clear saved zoom
|
| 1720 |
+
this._zoomXRange = null;
|
| 1721 |
+
this._zoomYRange = null;
|
| 1722 |
tv = niceTicks(xMin, xMax, maxXTicks);
|
| 1723 |
}
|
| 1724 |
if (tv) {
|
|
|
|
| 1793 |
xaxis: {
|
| 1794 |
title: { text: 'Score', font: { size: 12 } },
|
| 1795 |
tickfont: { size: 10 }, gridcolor: '#e9ecef', zeroline: false,
|
| 1796 |
+
...(this._zoomXRange ? { range: [...this._zoomXRange], autorange: false } : {}),
|
| 1797 |
},
|
| 1798 |
yaxis: {
|
| 1799 |
tickfont: { size: 11 }, automargin: true,
|