Skip to content

Instantly share code, notes, and snippets.

@Giammaria
Last active January 15, 2025 14:37
Show Gist options
  • Save Giammaria/26fd38a3401c4dd87915ec0748310702 to your computer and use it in GitHub Desktop.
Save Giammaria/26fd38a3401c4dd87915ec0748310702 to your computer and use it in GitHub Desktop.
20241218_sf_readiness_gateway_header_viz_v1_v
{
"$schema": "https://vega.github.io/schema/vega/v5.json",
"autosize": "none",
"width": 1920,
"height": 100,
"background": "transparent",
"signals": [
{"name": "inCognos", "value": false},
{"name": "windowLocationOrigin", "value": ""},
{"name": "initialTimestamp", "init": "now()"},
{
"name": "startRendering",
"value": false,
"on": [
{
"events": {"signal": "counter"},
"update": "(initialTimestamp + 100) < counter ? true : false"
}
]
},
{
"name": "width",
"update": "inCognos ? !startRendering ? 0 : containerSize()[0] : width"
},
{
"name": "height",
"update": "inCognos ? !startRendering ? 0 : containerSize()[1] : height"
},
{
"name": "radialWidth",
"update": "0.725*min(containerSize()[0], containerSize()[1])"
},
{
"name": "radialHeight",
"update": "0.725*min(containerSize()[0], containerSize()[1])"
},
{"name": "padding", "update": "0"},
{"name": "starCount", "value": 50},
{"name": "circleCount", "value": 4},
{
"name": "connectionDistance",
"update": "0.16*min(containerSize()[0], containerSize()[1])"
},
{
"name": "counter",
"init": "now()",
"on": [{"events": {"type": "timer", "throttle": 1000}, "update": "now()"}]
},
{"name": "horizontalRuleWidthPercent", "value": 0.3},
{"name": "centerRuleVerticalOffset", "update": "0.5*height"},
{"name": "dayInMilliseconds", "value": 86400000},
{
"name": "lightColor",
"description": "light color for theme as hex value",
"value": "#EEE"
},
{
"name": "semiLightColor",
"description": "semi-light color for theme as hex value",
"value": "#DEDEDE"
},
{
"name": "mediumColor",
"description": "medium color for theme as hex value",
"value": "#AAA"
},
{
"name": "darkColor",
"description": "dark color for theme as hex value",
"value": "#999"
},
{
"name": "backgroundRGB",
"description": "rgb value of the canvas background",
"value": "#000"
}
],
"marks": [
{
"name": "groupHeader",
"type": "group",
"signals": [
{"name": "diagnal_rule_length_percent", "init": "0.000075*height"},
{"name": "horizontal_center_rule_length_percent", "value": 0.26725},
{"name": "strokeWidth", "value": 1},
{"name": "fontSize", "value": 14}
],
"encode": {
"update": {"y": {"signal": "startRendering ? 0.0493*height : 0"}}
},
"marks": [
{
"name": "horizontal_rule_left",
"type": "rule",
"encode": {
"update": {
"x": {"scale": "xScale", "value": 0},
"x2": {"scale": "xScale", "signal": "horizontalRuleWidthPercent"},
"y": {"signal": "centerRuleVerticalOffset"},
"y2": {"signal": "centerRuleVerticalOffset"},
"stroke": {"value": "#fff"},
"strokeWidth": {"signal": "strokeWidth"}
}
}
},
{
"name": "title",
"type": "image",
"from": {"data": "horizontal_rule_left"},
"encode": {
"update": {
"x": {
"signal": "datum.bounds.x1+(datum.bounds.x2-datum.bounds.x1)/2"
},
"y": {
"signal": "height/2-((datum.bounds.x1+(datum.bounds.x2-datum.bounds.x1)/2)*0.09)",
"offset": -2.5
},
"height": {
"signal": "(datum.bounds.x1+(datum.bounds.x2-datum.bounds.x1)/2)*0.09"
},
"align": {"value": "center"},
"fill": {"value": "#fff"},
"url": {
"value": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgwIiBoZWlnaHQ9IjIxIiB2aWV3Qm94PSIwIDAgMzgwIDIxIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMC42MzIgMjBWMC4zOTk5OTlIOC42OTZDMTAuNDMyIDAuMzk5OTk5IDExLjkxNiAwLjY3OTk5OSAxMy4xNDggMS4yNEMxNC4zOTg3IDEuOCAxNS4zNiAyLjYwMjY3IDE2LjAzMiAzLjY0OEMxNi43MDQgNC42OTMzMyAxNy4wNCA1LjkzNDY3IDE3LjA0IDcuMzcyQzE3LjA0IDguODA5MzMgMTYuNzA0IDEwLjA1MDcgMTYuMDMyIDExLjA5NkMxNS4zNiAxMi4xMjI3IDE0LjM5ODcgMTIuOTE2IDEzLjE0OCAxMy40NzZDMTEuOTE2IDE0LjAxNzMgMTAuNDMyIDE0LjI4OCA4LjY5NiAxNC4yODhIMi42NDhMNC4yNzIgMTIuNjM2VjIwSDAuNjMyWk0xMy40NTYgMjBMOC41IDEyLjg4OEgxMi4zOTJMMTcuMzc2IDIwSDEzLjQ1NlpNNC4yNzIgMTMuMDI4TDIuNjQ4IDExLjI5Mkg4LjUyOEMxMC4xMzMzIDExLjI5MiAxMS4zMzczIDEwLjk0NjcgMTIuMTQgMTAuMjU2QzEyLjk2MTMgOS41NjUzMyAxMy4zNzIgOC42MDQgMTMuMzcyIDcuMzcyQzEzLjM3MiA2LjEyMTMzIDEyLjk2MTMgNS4xNiAxMi4xNCA0LjQ4OEMxMS4zMzczIDMuODE2IDEwLjEzMzMgMy40OCA4LjUyOCAzLjQ4SDIuNjQ4TDQuMjcyIDEuNjg4VjEzLjAyOFpNMjguMTEyNSA4LjU0OEgzNy44NTY1VjExLjU0NEgyOC4xMTI1VjguNTQ4Wk0yOC4zOTI1IDE2Ljk0OEgzOS40NTI1VjIwSDI0Ljc1MjVWMC4zOTk5OTlIMzkuMDYwNVYzLjQ1MkgyOC4zOTI1VjE2Ljk0OFpNNDQuMzc4MyAyMEw1My4xOTgzIDAuMzk5OTk5SDU2Ljc4MjNMNjUuNjMwMyAyMEg2MS44MjIzTDU0LjIzNDMgMi4zMzJINTUuNjkwM0w0OC4xMzAzIDIwSDQ0LjM3ODNaTTQ4LjQzODMgMTUuNDY0TDQ5LjQxODMgMTIuNjA4SDYwLjAwMjNMNjAuOTgyMyAxNS40NjRINDguNDM4M1pNNzEuNzYyOSAyMFYwLjM5OTk5OUg4MC4zMzA5QzgyLjQ1ODkgMC4zOTk5OTkgODQuMzI1NiAwLjgxMDY2NiA4NS45MzA5IDEuNjMyQzg3LjUzNjMgMi40NTMzMyA4OC43ODY5IDMuNTkyIDg5LjY4MjkgNS4wNDhDOTAuNTc4OSA2LjUwNCA5MS4wMjY5IDguMjIxMzMgOTEuMDI2OSAxMC4yQzkxLjAyNjkgMTIuMTYgOTAuNTc4OSAxMy44NzczIDg5LjY4MjkgMTUuMzUyQzg4Ljc4NjkgMTYuODA4IDg3LjUzNjMgMTcuOTQ2NyA4NS45MzA5IDE4Ljc2OEM4NC4zMjU2IDE5LjU4OTMgODIuNDU4OSAyMCA4MC4zMzA5IDIwSDcxLjc2MjlaTTc1LjQwMjkgMTYuOTJIODAuMTYyOUM4MS42Mzc2IDE2LjkyIDgyLjkwNjkgMTYuNjQgODMuOTcwOSAxNi4wOEM4NS4wNTM2IDE1LjUyIDg1Ljg4NDMgMTQuNzM2IDg2LjQ2MjkgMTMuNzI4Qzg3LjA2MDMgMTIuNzIgODcuMzU4OSAxMS41NDQgODcuMzU4OSAxMC4yQzg3LjM1ODkgOC44MzczMyA4Ny4wNjAzIDcuNjYxMzMgODYuNDYyOSA2LjY3MkM4NS44ODQzIDUuNjY0IDg1LjA1MzYgNC44OCA4My45NzA5IDQuMzJDODIuOTA2OSAzLjc2IDgxLjYzNzYgMy40OCA4MC4xNjI5IDMuNDhINzUuNDAyOVYxNi45MlpNOTguNTM1NyAyMFYwLjM5OTk5OUgxMDIuMTc2VjIwSDk4LjUzNTdaTTExMS4xMTcgMjBWMC4zOTk5OTlIMTE0LjExM0wxMjYuNDA1IDE1LjQ5MkgxMjQuOTIxVjAuMzk5OTk5SDEyOC41MzNWMjBIMTI1LjUzN0wxMTMuMjQ1IDQuOTA4SDExNC43MjlWMjBIMTExLjExN1pNMTQwLjc4NSA4LjU0OEgxNTAuNTI5VjExLjU0NEgxNDAuNzg1VjguNTQ4Wk0xNDEuMDY1IDE2Ljk0OEgxNTIuMTI1VjIwSDEzNy40MjVWMC4zOTk5OTlIMTUxLjczM1YzLjQ1MkgxNDEuMDY1VjE2Ljk0OFpNMTY1Ljg5OSAyMC4yOEMxNjQuMzY4IDIwLjI4IDE2Mi45MDMgMjAuMDY1MyAxNjEuNTAzIDE5LjYzNkMxNjAuMTAzIDE5LjE4OCAxNTguOTkyIDE4LjYxODcgMTU4LjE3MSAxNy45MjhMMTU5LjQzMSAxNS4xQzE2MC4yMTUgMTUuNzE2IDE2MS4xODYgMTYuMjI5MyAxNjIuMzQzIDE2LjY0QzE2My41IDE3LjA1MDcgMTY0LjY4NiAxNy4yNTYgMTY1Ljg5OSAxNy4yNTZDMTY2LjkyNiAxNy4yNTYgMTY3Ljc1NiAxNy4xNDQgMTY4LjM5MSAxNi45MkMxNjkuMDI2IDE2LjY5NiAxNjkuNDkyIDE2LjM5NzMgMTY5Ljc5MSAxNi4wMjRDMTcwLjA5IDE1LjYzMiAxNzAuMjM5IDE1LjE5MzMgMTcwLjIzOSAxNC43MDhDMTcwLjIzOSAxNC4xMTA3IDE3MC4wMjQgMTMuNjM0NyAxNjkuNTk1IDEzLjI4QzE2OS4xNjYgMTIuOTA2NyAxNjguNjA2IDEyLjYxNzMgMTY3LjkxNSAxMi40MTJDMTY3LjI0MyAxMi4xODggMTY2LjQ4NyAxMS45ODI3IDE2NS42NDcgMTEuNzk2QzE2NC44MjYgMTEuNjA5MyAxNjMuOTk1IDExLjM5NDcgMTYzLjE1NSAxMS4xNTJDMTYyLjMzNCAxMC44OTA3IDE2MS41NzggMTAuNTY0IDE2MC44ODcgMTAuMTcyQzE2MC4yMTUgOS43NjEzMyAxNTkuNjY0IDkuMjIgMTU5LjIzNSA4LjU0OEMxNTguODA2IDcuODc2IDE1OC41OTEgNy4wMTczMyAxNTguNTkxIDUuOTcyQzE1OC41OTEgNC45MDggMTU4Ljg3MSAzLjkzNzMzIDE1OS40MzEgMy4wNkMxNjAuMDEgMi4xNjQgMTYwLjg3OCAxLjQ1NDY3IDE2Mi4wMzUgMC45MzE5OThDMTYzLjIxMSAwLjM5MDY2NSAxNjQuNjk1IDAuMTE5OTk5IDE2Ni40ODcgMC4xMTk5OTlDMTY3LjY2MyAwLjExOTk5OSAxNjguODMgMC4yNjkzMzMgMTY5Ljk4NyAwLjU2OEMxNzEuMTQ0IDAuODY2NjY2IDE3Mi4xNTIgMS4yOTYgMTczLjAxMSAxLjg1NkwxNzEuODYzIDQuNjg0QzE3MC45ODYgNC4xNjEzMyAxNzAuMDggMy43Nzg2NyAxNjkuMTQ3IDMuNTM2QzE2OC4yMTQgMy4yNzQ2NyAxNjcuMzE4IDMuMTQ0IDE2Ni40NTkgMy4xNDRDMTY1LjQ1MSAzLjE0NCAxNjQuNjMgMy4yNjUzMyAxNjMuOTk1IDMuNTA4QzE2My4zNzkgMy43NTA2NyAxNjIuOTIyIDQuMDY4IDE2Mi42MjMgNC40NkMxNjIuMzQzIDQuODUyIDE2Mi4yMDMgNS4zIDE2Mi4yMDMgNS44MDRDMTYyLjIwMyA2LjQwMTMzIDE2Mi40MDggNi44ODY2NyAxNjIuODE5IDcuMjZDMTYzLjI0OCA3LjYxNDY3IDE2My43OTkgNy44OTQ2NyAxNjQuNDcxIDguMUMxNjUuMTYyIDguMzA1MzMgMTY1LjkyNyA4LjUxMDY3IDE2Ni43NjcgOC43MTZDMTY3LjYwNyA4LjkwMjY3IDE2OC40MzggOS4xMTczMyAxNjkuMjU5IDkuMzZDMTcwLjA5OSA5LjYwMjY3IDE3MC44NTUgOS45MiAxNzEuNTI3IDEwLjMxMkMxNzIuMjE4IDEwLjcwNCAxNzIuNzY4IDExLjIzNiAxNzMuMTc5IDExLjkwOEMxNzMuNjA4IDEyLjU4IDE3My44MjMgMTMuNDI5MyAxNzMuODIzIDE0LjQ1NkMxNzMuODIzIDE1LjUwMTMgMTczLjUzNCAxNi40NzIgMTcyLjk1NSAxNy4zNjhDMTcyLjM5NSAxOC4yNDUzIDE3MS41MjcgMTguOTU0NyAxNzAuMzUxIDE5LjQ5NkMxNjkuMTc1IDIwLjAxODcgMTY3LjY5MSAyMC4yOCAxNjUuODk5IDIwLjI4Wk0xODcuMTQ4IDIwLjI4QzE4NS42MTggMjAuMjggMTg0LjE1MiAyMC4wNjUzIDE4Mi43NTIgMTkuNjM2QzE4MS4zNTIgMTkuMTg4IDE4MC4yNDIgMTguNjE4NyAxNzkuNDIgMTcuOTI4TDE4MC42OCAxNS4xQzE4MS40NjQgMTUuNzE2IDE4Mi40MzUgMTYuMjI5MyAxODMuNTkyIDE2LjY0QzE4NC43NSAxNy4wNTA3IDE4NS45MzUgMTcuMjU2IDE4Ny4xNDggMTcuMjU2QzE4OC4xNzUgMTcuMjU2IDE4OS4wMDYgMTcuMTQ0IDE4OS42NCAxNi45MkMxOTAuMjc1IDE2LjY5NiAxOTAuNzQyIDE2LjM5NzMgMTkxLjA0IDE2LjAyNEMxOTEuMzM5IDE1LjYzMiAxOTEuNDg4IDE1LjE5MzMgMTkxLjQ4OCAxNC43MDhDMTkxLjQ4OCAxNC4xMTA3IDE5MS4yNzQgMTMuNjM0NyAxOTAuODQ0IDEzLjI4QzE5MC40MTUgMTIuOTA2NyAxODkuODU1IDEyLjYxNzMgMTg5LjE2NCAxMi40MTJDMTg4LjQ5MiAxMi4xODggMTg3LjczNiAxMS45ODI3IDE4Ni44OTYgMTEuNzk2QzE4Ni4wNzUgMTEuNjA5MyAxODUuMjQ0IDExLjM5NDcgMTg0LjQwNCAxMS4xNTJDMTgzLjU4MyAxMC44OTA3IDE4Mi44MjcgMTAuNTY0IDE4Mi4xMzYgMTAuMTcyQzE4MS40NjQgOS43NjEzMyAxODAuOTE0IDkuMjIgMTgwLjQ4NCA4LjU0OEMxODAuMDU1IDcuODc2IDE3OS44NCA3LjAxNzMzIDE3OS44NCA1Ljk3MkMxNzkuODQgNC45MDggMTgwLjEyIDMuOTM3MzMgMTgwLjY4IDMuMDZDMTgxLjI1OSAyLjE2NCAxODIuMTI3IDEuNDU0NjcgMTgzLjI4NCAwLjkzMTk5OEMxODQuNDYgMC4zOTA2NjUgMTg1Ljk0NCAwLjExOTk5OSAxODcuNzM2IDAuMTE5OTk5QzE4OC45MTIgMC4xMTk5OTkgMTkwLjA3OSAwLjI2OTMzMyAxOTEuMjM2IDAuNTY4QzE5Mi4zOTQgMC44NjY2NjYgMTkzLjQwMiAxLjI5NiAxOTQuMjYgMS44NTZMMTkzLjExMiA0LjY4NEMxOTIuMjM1IDQuMTYxMzMgMTkxLjMzIDMuNzc4NjcgMTkwLjM5NiAzLjUzNkMxODkuNDYzIDMuMjc0NjcgMTg4LjU2NyAzLjE0NCAxODcuNzA4IDMuMTQ0QzE4Ni43IDMuMTQ0IDE4NS44NzkgMy4yNjUzMyAxODUuMjQ0IDMuNTA4QzE4NC42MjggMy43NTA2NyAxODQuMTcxIDQuMDY4IDE4My44NzIgNC40NkMxODMuNTkyIDQuODUyIDE4My40NTIgNS4zIDE4My40NTIgNS44MDRDMTgzLjQ1MiA2LjQwMTMzIDE4My42NTggNi44ODY2NyAxODQuMDY4IDcuMjZDMTg0LjQ5OCA3LjYxNDY3IDE4NS4wNDggNy44OTQ2NyAxODUuNzIgOC4xQzE4Ni40MTEgOC4zMDUzMyAxODcuMTc2IDguNTEwNjcgMTg4LjAxNiA4LjcxNkMxODguODU2IDguOTAyNjcgMTg5LjY4NyA5LjExNzMzIDE5MC41MDggOS4zNkMxOTEuMzQ4IDkuNjAyNjcgMTkyLjEwNCA5LjkyIDE5Mi43NzYgMTAuMzEyQzE5My40NjcgMTAuNzA0IDE5NC4wMTggMTEuMjM2IDE5NC40MjggMTEuOTA4QzE5NC44NTggMTIuNTggMTk1LjA3MiAxMy40MjkzIDE5NS4wNzIgMTQuNDU2QzE5NS4wNzIgMTUuNTAxMyAxOTQuNzgzIDE2LjQ3MiAxOTQuMjA0IDE3LjM2OEMxOTMuNjQ0IDE4LjI0NTMgMTkyLjc3NiAxOC45NTQ3IDE5MS42IDE5LjQ5NkMxOTAuNDI0IDIwLjAxODcgMTg4Ljk0IDIwLjI4IDE4Ny4xNDggMjAuMjhaTTIyMi44NTYgMjAuMjhDMjIxLjMyNSAyMC4yOCAyMTkuOTE2IDIwLjAzNzMgMjE4LjYyOCAxOS41NTJDMjE3LjM1OSAxOS4wNDggMjE2LjI0OCAxOC4zNDggMjE1LjI5NiAxNy40NTJDMjE0LjM0NCAxNi41MzczIDIxMy42MDcgMTUuNDY0IDIxMy4wODQgMTQuMjMyQzIxMi41NjEgMTMgMjEyLjMgMTEuNjU2IDIxMi4zIDEwLjJDMjEyLjMgOC43NDQgMjEyLjU2MSA3LjQgMjEzLjA4NCA2LjE2OEMyMTMuNjA3IDQuOTM2IDIxNC4zNDQgMy44NzIgMjE1LjI5NiAyLjk3NkMyMTYuMjY3IDIuMDYxMzMgMjE3LjM5NiAxLjM2MTMzIDIxOC42ODQgMC44NzU5OTlDMjE5Ljk3MiAwLjM3MTk5OSAyMjEuMzgxIDAuMTE5OTk5IDIyMi45MTIgMC4xMTk5OTlDMjI0LjU3MyAwLjExOTk5OSAyMjYuMDY3IDAuMzkwNjY1IDIyNy4zOTIgMC45MzE5OThDMjI4LjczNiAxLjQ3MzMzIDIyOS44NjUgMi4yNjY2NyAyMzAuNzggMy4zMTJMMjI4LjQ4NCA1LjU1MkMyMjcuNzE5IDQuNzg2NjcgMjI2Ljg4OCA0LjIyNjY3IDIyNS45OTIgMy44NzJDMjI1LjExNSAzLjQ5ODY3IDIyNC4xNDQgMy4zMTIgMjIzLjA4IDMuMzEyQzIyMi4wNTMgMy4zMTIgMjIxLjEwMSAzLjQ4IDIyMC4yMjQgMy44MTZDMjE5LjM0NyA0LjE1MiAyMTguNTkxIDQuNjI4IDIxNy45NTYgNS4yNDRDMjE3LjMyMSA1Ljg2IDIxNi44MjcgNi41ODggMjE2LjQ3MiA3LjQyOEMyMTYuMTM2IDguMjY4IDIxNS45NjggOS4xOTIgMjE1Ljk2OCAxMC4yQzIxNS45NjggMTEuMTg5MyAyMTYuMTM2IDEyLjEwNCAyMTYuNDcyIDEyLjk0NEMyMTYuODI3IDEzLjc4NCAyMTcuMzIxIDE0LjUyMTMgMjE3Ljk1NiAxNS4xNTZDMjE4LjU5MSAxNS43NzIgMjE5LjMzNyAxNi4yNDggMjIwLjE5NiAxNi41ODRDMjIxLjA1NSAxNi45MiAyMjIuMDA3IDE3LjA4OCAyMjMuMDUyIDE3LjA4OEMyMjQuMDIzIDE3LjA4OCAyMjQuOTU2IDE2LjkzODcgMjI1Ljg1MiAxNi42NEMyMjYuNzY3IDE2LjMyMjcgMjI3LjYzNSAxNS44IDIyOC40NTYgMTUuMDcyTDIzMC41MjggMTcuNzg4QzIyOS41MDEgMTguNjA5MyAyMjguMzA3IDE5LjIzNDcgMjI2Ljk0NCAxOS42NjRDMjI1LjYgMjAuMDc0NyAyMjQuMjM3IDIwLjI4IDIyMi44NTYgMjAuMjhaTTIyNy4wODQgMTcuMzEyVjkuOTc2SDIzMC41MjhWMTcuNzg4TDIyNy4wODQgMTcuMzEyWk0yMzYuMTk3IDIwTDI0NS4wMTcgMC4zOTk5OTlIMjQ4LjYwMUwyNTcuNDQ5IDIwSDI1My42NDFMMjQ2LjA1MyAyLjMzMkgyNDcuNTA5TDIzOS45NDkgMjBIMjM2LjE5N1pNMjQwLjI1NyAxNS40NjRMMjQxLjIzNyAxMi42MDhIMjUxLjgyMUwyNTIuODAxIDE1LjQ2NEgyNDAuMjU3Wk0yNjYuNTczIDIwVjMuNDhIMjYwLjA3N1YwLjM5OTk5OUgyNzYuNzA5VjMuNDhIMjcwLjIxM1YyMEgyNjYuNTczWk0yODYuNDQxIDguNTQ4SDI5Ni4xODVWMTEuNTQ0SDI4Ni40NDFWOC41NDhaTTI4Ni43MjEgMTYuOTQ4SDI5Ny43ODFWMjBIMjgzLjA4MVYwLjM5OTk5OUgyOTcuMzg5VjMuNDUySDI4Ni43MjFWMTYuOTQ4Wk0zMDkuODI1IDIwTDMwMy4zMjkgMC4zOTk5OTlIMzA3LjEwOUwzMTIuOTA1IDE4LjEyNEgzMTEuMDI5TDMxNy4wNDkgMC4zOTk5OTlIMzIwLjQwOUwzMjYuMjYxIDE4LjEyNEgzMjQuNDQxTDMzMC4zNzcgMC4zOTk5OTlIMzMzLjg0OUwzMjcuMzUzIDIwSDMyMy40ODlMMzE4LjE0MSA0LjAxMkgzMTkuMTQ5TDMxMy43MTcgMjBIMzA5LjgyNVpNMzM3LjA1NCAyMEwzNDUuODc0IDAuMzk5OTk5SDM0OS40NThMMzU4LjMwNiAyMEgzNTQuNDk4TDM0Ni45MSAyLjMzMkgzNDguMzY2TDM0MC44MDYgMjBIMzM3LjA1NFpNMzQxLjExNCAxNS40NjRMMzQyLjA5NCAxMi42MDhIMzUyLjY3OEwzNTMuNjU4IDE1LjQ2NEgzNDEuMTE0Wk0zNjguMDc5IDIwVjEyLjI0NEwzNjguODkxIDE0LjQ4NEwzNjAuMzc5IDAuMzk5OTk5SDM2NC4yNzFMMzcxLjEwMyAxMS43NEgzNjguOTE5TDM3NS44MDcgMC4zOTk5OTlIMzc5LjM5MUwzNzAuODc5IDE0LjQ4NEwzNzEuNzE5IDEyLjI0NFYyMEgzNjguMDc5WiIgZmlsbD0iI0VERjFGQSIvPgo8L3N2Zz4K"
}
}
}
},
{
"name": "horizontal_rule_left_diagnal",
"type": "rule",
"encode": {
"update": {
"x": {"scale": "xScale", "signal": "horizontalRuleWidthPercent"},
"x2": {
"scale": "xScale",
"signal": "(1-horizontalRuleWidthPercent)/2",
"offset": {"scale": "xScale", "signal": "-0.025"}
},
"y": {"signal": "centerRuleVerticalOffset"},
"y2": {
"signal": "scale('xScale', diagnal_rule_length_percent)/sin(0.25*PI)",
"offset": {"signal": "centerRuleVerticalOffset"}
},
"stroke": {"value": "#fff"},
"strokeWidth": {"signal": "strokeWidth"}
}
}
},
{
"name": "horizontal_rule_center",
"type": "rule",
"from": {"data": "horizontal_rule_left_diagnal"},
"encode": {
"update": {
"x": {"signal": "datum.bounds.x2"},
"x2": {"signal": "width-datum.bounds.x2"},
"y": {
"signal": "scale('xScale', diagnal_rule_length_percent)/cos(0.25*PI)",
"offset": {"signal": "centerRuleVerticalOffset"}
},
"y2": {
"signal": "scale('xScale', diagnal_rule_length_percent)/sin(0.25*PI)",
"offset": {"signal": "centerRuleVerticalOffset"}
},
"stroke": {"value": "#fff"},
"strokeWidth": {"signal": "strokeWidth"}
}
}
},
{
"name": "date",
"type": "text",
"from": {"data": "horizontal_rule_center"},
"encode": {
"update": {
"x": {
"signal": "datum.bounds.x1+(datum.bounds.x2-datum.bounds.x1)/4"
},
"y": {"signal": "datum.bounds.y1", "offset": {"value": -1}},
"align": {"value": "center"},
"baseline": {"value": "bottom"},
"text": {"signal": "utcFormat(now(), '%m%d%Y')"},
"fill": {"value": "#fff"},
"fontSize": {"signal": "fontSize"},
"opacity": {"signal": "width < 800 ? 0 : 1 "}
}
}
},
{
"name": "image_sf_logo_background",
"type": "rect",
"from": {"data": "horizontal_rule_center"},
"encode": {
"update": {
"x": {
"signal": "datum.bounds.x1+(datum.bounds.x2-datum.bounds.x1)/2-(1.5*height)/2"
},
"y": {"signal": "0"},
"height": {"signal": "height*0.95"},
"width": {"signal": "height*1.5"},
"fill": {"value": "#000"}
}
}
},
{
"name": "image_sf_logo",
"type": "image",
"from": {"data": "horizontal_rule_center"},
"encode": {
"update": {
"x": {
"signal": "datum.bounds.x1+(datum.bounds.x2-datum.bounds.x1)/2"
},
"y": {"signal": "0"},
"align": {"value": "center"},
"height": {"signal": "height*0.95"},
"url": {
"value": "data:image/png;base64,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"
}
}
}
},
{
"name": "time",
"type": "text",
"from": {"data": "horizontal_rule_center"},
"encode": {
"update": {
"x": {
"signal": "datum.bounds.x2-(datum.bounds.x2-datum.bounds.x1)/4"
},
"y": {"signal": "datum.bounds.y1", "offset": {"value": -1}},
"align": {"value": "center"},
"baseline": {"value": "bottom"},
"text": {"signal": "timeFormat(counter, '%H:%M:%S')"},
"fill": {"value": "#fff"},
"fontSize": {"signal": "fontSize"},
"opacity": {"signal": "width < 800 ? 0 : 1 "}
}
}
},
{
"name": "horizontal_rule_right_diagnal",
"type": "rule",
"from": {"data": "horizontal_rule_center"},
"encode": {
"update": {
"x2": {"signal": "datum.bounds.x2"},
"x": {
"scale": "xScale",
"signal": "(1-horizontalRuleWidthPercent)",
"offset": {"scale": "xScale", "signal": "0.0125"}
},
"y": {"signal": "centerRuleVerticalOffset"},
"y2": {
"signal": "scale('xScale', diagnal_rule_length_percent)/cos(0.25*PI)",
"offset": {"signal": "centerRuleVerticalOffset"}
},
"stroke": {"value": "#fff"},
"strokeWidth": {"signal": "strokeWidth"}
}
}
},
{
"name": "horizontal_rule_right",
"type": "rule",
"from": {"data": "horizontal_rule_right_diagnal"},
"encode": {
"update": {
"x": {"signal": "datum.bounds.x2"},
"x2": {"signal": "width"},
"y": {"signal": "centerRuleVerticalOffset"},
"y2": {"signal": "centerRuleVerticalOffset"},
"stroke": {"value": "#fff"},
"strokeWidth": {"signal": "strokeWidth"}
}
}
}
]
}
],
"scales": [
{
"name": "xScale",
"type": "linear",
"domain": {"signal": "[0,1]"},
"range": {"signal": "[10,width-20]"}
}
],
"data": [
{
"name": "dataset",
"url": "https://raw.githubusercontent.com/Giammaria/PublicFiles/refs/heads/master/data/sf-notional-dataset.csv",
"format": {
"type": "csv",
"parse": {
"Field Comm": "string",
"Delta": "string",
"Reporting Unit": "string",
"Location": "string",
"Capability": "string",
"Component": "string",
"Squadron Type": "string",
"Mission": "string",
"Date": "date",
"P": "number",
"S": "number",
"R": "number",
"T": "number",
"OVL": "number",
"Override C-Rating": "number",
"Assessment": "string",
"Primary Degraders": "string",
"Secondary Degraders": "string",
"Month Look Back": "number",
"Last Month Lookback Filter": "string",
"Details Max Date": "date"
}
},
"transform": [
{"type": "filter", "expr": "datum.Mission === 'CORE'"},
{
"type": "filter",
"expr": "!isValid(datum.UIC) ? true : indexof(['SF2BS0','SF2BW0','SFSQK1','FFP090','FFDSX0','SFSQL1','SFSQG1','SFSQC1','SFSQ71','SFSQ51','SFSGL0','SF9NY0'], datum.UIC) < 0"
},
{
"type": "window",
"ops": ["dense_rank"],
"sort": {"field": "Reporting Unit"},
"as": ["dr"]
},
{
"type": "filter",
"expr": "windowLocationOrigin === '' ? datum.dr > 250 && datum.dr < 350 : true"
},
{
"type": "project",
"fields": [
"Date",
"Reporting Unit",
"Field Comm",
"Delta",
"OVL",
"Assessment"
],
"as": [
"Date",
"Reporting Unit",
"Field Comm",
"Delta",
"OVL",
"Assessment"
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment