Skip to content

Instantly share code, notes, and snippets.

@priyavrat-misra
Created January 9, 2026 02:34
Show Gist options
  • Select an option

  • Save priyavrat-misra/67d07ece8476581867db35b5d61e9f71 to your computer and use it in GitHub Desktop.

Select an option

Save priyavrat-misra/67d07ece8476581867db35b5d61e9f71 to your computer and use it in GitHub Desktop.
import json
def generate_heatmap(json_path, output_path):
with open(json_path, 'r') as f:
data = json.load(f)
markers = data['markers']
intensities = [float(m['intensityScoreNormalized']) for m in markers]
# Constants for SVG
WIDTH = 1000
HEIGHT = 100
svg_path_d = f"M 0.0,{HEIGHT}" # Start at bottom-left
x = 0.0
for intensity in intensities:
# Normalize y to 0-100 (inverted)
y = HEIGHT - (intensity * HEIGHT)
svg_path_d += f" L {x:.1f},{y:.1f}"
x += 10.0
# Close the path
svg_path_d += f" L {WIDTH},{HEIGHT} Z"
# Create SVG content
svg_content = f'''<svg xmlns="http://www.w3.org/2000/svg" height="100%" version="1.1" viewBox="0 0 {WIDTH} {HEIGHT}" width="100%" style="height: 40px;background: black;">
<path fill="white" d="{svg_path_d}"/>
</svg>'''
with open(output_path, 'w') as f:
f.write(svg_content)
print(f"Successfully generated {output_path}")
if __name__ == "__main__":
generate_heatmap('points.json', 'generated_heatmap.svg')
{
"markers": [
{
"startMillis": "0",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5279266562267951
},
{
"startMillis": "2460",
"durationMillis": "2460",
"intensityScoreNormalized": 0.12480357722391544
},
{
"startMillis": "4920",
"durationMillis": "2460",
"intensityScoreNormalized": 0
},
{
"startMillis": "7380",
"durationMillis": "2460",
"intensityScoreNormalized": 0.026860087867167863
},
{
"startMillis": "9840",
"durationMillis": "2460",
"intensityScoreNormalized": 0.02093585840785508
},
{
"startMillis": "12300",
"durationMillis": "2460",
"intensityScoreNormalized": 0.07226272586274855
},
{
"startMillis": "14760",
"durationMillis": "2460",
"intensityScoreNormalized": 0.04300692905583681
},
{
"startMillis": "17220",
"durationMillis": "2460",
"intensityScoreNormalized": 0.060931159115314666
},
{
"startMillis": "19680",
"durationMillis": "2460",
"intensityScoreNormalized": 0.0766022194404571
},
{
"startMillis": "22140",
"durationMillis": "2460",
"intensityScoreNormalized": 0.09533412165015988
},
{
"startMillis": "24600",
"durationMillis": "2460",
"intensityScoreNormalized": 0.10005036885395328
},
{
"startMillis": "27060",
"durationMillis": "2460",
"intensityScoreNormalized": 0.1244830890736497
},
{
"startMillis": "29520",
"durationMillis": "2460",
"intensityScoreNormalized": 0.1306733417026353
},
{
"startMillis": "31980",
"durationMillis": "2460",
"intensityScoreNormalized": 0.14898677881351266
},
{
"startMillis": "34440",
"durationMillis": "2460",
"intensityScoreNormalized": 0.15401166090733256
},
{
"startMillis": "36900",
"durationMillis": "2460",
"intensityScoreNormalized": 0.1765162007810248
},
{
"startMillis": "39360",
"durationMillis": "2460",
"intensityScoreNormalized": 0.18904599710150277
},
{
"startMillis": "41820",
"durationMillis": "2460",
"intensityScoreNormalized": 0.2165362582978448
},
{
"startMillis": "44280",
"durationMillis": "2460",
"intensityScoreNormalized": 0.2411788862526638
},
{
"startMillis": "46740",
"durationMillis": "2460",
"intensityScoreNormalized": 0.2563927708316172
},
{
"startMillis": "49200",
"durationMillis": "2460",
"intensityScoreNormalized": 0.2714743190114441
},
{
"startMillis": "51660",
"durationMillis": "2460",
"intensityScoreNormalized": 0.28734058302736165
},
{
"startMillis": "54120",
"durationMillis": "2460",
"intensityScoreNormalized": 0.31838112072725605
},
{
"startMillis": "56580",
"durationMillis": "2460",
"intensityScoreNormalized": 0.35631935563876843
},
{
"startMillis": "59040",
"durationMillis": "2460",
"intensityScoreNormalized": 0.4065510718723185
},
{
"startMillis": "61500",
"durationMillis": "2460",
"intensityScoreNormalized": 0.45425309231304073
},
{
"startMillis": "63960",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5130269580648157
},
{
"startMillis": "66420",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6310929321109772
},
{
"startMillis": "68880",
"durationMillis": "2460",
"intensityScoreNormalized": 0.673111989452699
},
{
"startMillis": "71340",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6610459706942394
},
{
"startMillis": "73800",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6401047108007057
},
{
"startMillis": "76260",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5941065590090554
},
{
"startMillis": "78720",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5514129161225795
},
{
"startMillis": "81180",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5179744188639085
},
{
"startMillis": "83640",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5146366007970492
},
{
"startMillis": "86100",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5279260560617198
},
{
"startMillis": "88560",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5537925706465563
},
{
"startMillis": "91020",
"durationMillis": "2460",
"intensityScoreNormalized": 0.56710513226663
},
{
"startMillis": "93480",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6283048652531878
},
{
"startMillis": "95940",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6201156127993005
},
{
"startMillis": "98400",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5691351906341839
},
{
"startMillis": "100860",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5449407359494229
},
{
"startMillis": "103320",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5326001416689661
},
{
"startMillis": "105780",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5216348256587975
},
{
"startMillis": "108240",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5322490450998547
},
{
"startMillis": "110700",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5177853668651563
},
{
"startMillis": "113160",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5186520052340396
},
{
"startMillis": "115620",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5143716279162583
},
{
"startMillis": "118080",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5142227869775582
},
{
"startMillis": "120540",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5031536424093447
},
{
"startMillis": "123000",
"durationMillis": "2460",
"intensityScoreNormalized": 0.49735544761586675
},
{
"startMillis": "125460",
"durationMillis": "2460",
"intensityScoreNormalized": 0.4851786984009952
},
{
"startMillis": "127920",
"durationMillis": "2460",
"intensityScoreNormalized": 0.4820914492531171
},
{
"startMillis": "130380",
"durationMillis": "2460",
"intensityScoreNormalized": 0.47682710129421096
},
{
"startMillis": "132840",
"durationMillis": "2460",
"intensityScoreNormalized": 0.4760549889247037
},
{
"startMillis": "135300",
"durationMillis": "2460",
"intensityScoreNormalized": 0.47592295260811485
},
{
"startMillis": "137760",
"durationMillis": "2460",
"intensityScoreNormalized": 0.4771610931586733
},
{
"startMillis": "140220",
"durationMillis": "2460",
"intensityScoreNormalized": 0.47838753049026134
},
{
"startMillis": "142680",
"durationMillis": "2460",
"intensityScoreNormalized": 0.48015771738016544
},
{
"startMillis": "145140",
"durationMillis": "2460",
"intensityScoreNormalized": 0.483628171928689
},
{
"startMillis": "147600",
"durationMillis": "2460",
"intensityScoreNormalized": 0.48753254582672967
},
{
"startMillis": "150060",
"durationMillis": "2460",
"intensityScoreNormalized": 0.49134899554122363
},
{
"startMillis": "152520",
"durationMillis": "2460",
"intensityScoreNormalized": 0.498566580738032
},
{
"startMillis": "154980",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5059903226382416
},
{
"startMillis": "157440",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5173880575852389
},
{
"startMillis": "159900",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5259515129636406
},
{
"startMillis": "162360",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5370941777535911
},
{
"startMillis": "164820",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5427597360654048
},
{
"startMillis": "167280",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5585314740819463
},
{
"startMillis": "169740",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5669661940516739
},
{
"startMillis": "172200",
"durationMillis": "2460",
"intensityScoreNormalized": 0.576686467612917
},
{
"startMillis": "174660",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5752268661495344
},
{
"startMillis": "177120",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5715187462311508
},
{
"startMillis": "179580",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5755551564457804
},
{
"startMillis": "182040",
"durationMillis": "2460",
"intensityScoreNormalized": 0.9184945819347612
},
{
"startMillis": "184500",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5872760802858826
},
{
"startMillis": "186960",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5863029126161151
},
{
"startMillis": "189420",
"durationMillis": "2460",
"intensityScoreNormalized": 0.584826806613159
},
{
"startMillis": "191880",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5813572523122484
},
{
"startMillis": "194340",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5865882911094696
},
{
"startMillis": "196800",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5910676231497474
},
{
"startMillis": "199260",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5942920100173553
},
{
"startMillis": "201720",
"durationMillis": "2460",
"intensityScoreNormalized": 0.600944239713133
},
{
"startMillis": "204180",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6103296211623007
},
{
"startMillis": "206640",
"durationMillis": "2460",
"intensityScoreNormalized": 0.620023487460226
},
{
"startMillis": "209100",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6231227399096121
},
{
"startMillis": "211560",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6265172735760971
},
{
"startMillis": "214020",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6271660520226088
},
{
"startMillis": "216480",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6339608209237951
},
{
"startMillis": "218940",
"durationMillis": "2460",
"intensityScoreNormalized": 1
},
{
"startMillis": "221400",
"durationMillis": "2460",
"intensityScoreNormalized": 0.9952214856696334
},
{
"startMillis": "223860",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6297503628372983
},
{
"startMillis": "226320",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6146493092925209
},
{
"startMillis": "228780",
"durationMillis": "2460",
"intensityScoreNormalized": 0.6030382156612176
},
{
"startMillis": "231240",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5869615937863709
},
{
"startMillis": "233700",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5717062978172146
},
{
"startMillis": "236160",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5543432221032395
},
{
"startMillis": "238620",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5589017759334705
},
{
"startMillis": "241080",
"durationMillis": "2460",
"intensityScoreNormalized": 0.5913743075032788
},
{
"startMillis": "243540",
"durationMillis": "2460",
"intensityScoreNormalized": 0.641098284083037
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment