import requests
import numpy as np
import matplotlib.pyplot as plt
cf = "http://codeforces.com/api/"
def call(method, params):
url = f"{cf}{method}"
req = requests.get(url, params=params)
if req.status_code == 200:
return req.json()
"""
Some Contests' id:
Good Bye 2019 : 1270
Edu 79 : 1279
Global 6 : 1266
Div3 #611 : 1283
Div2 #608 : 1271
Div1 #609 : 1268
Codefest 19 : 1208
"""
rating = [[1200, "gray"],
[1400, "green"],
[1600, "#03a89e"],
[1900, "blue"],
[2100, "#aa00aa"],
[2400, "orange"],
[3000, "red"],
[9999, "black"]]
data = call("contest.ratingChanges", {"contestId": "1283"})["result"]
title = data[0]["contestName"]
print(title)
delta = np.zeros((len(data),), dtype=np.int64)
x = np.zeros((len(data),), dtype=np.int64)
color = []
for i in range(len(data)):
delta[i] = data[i]["newRating"] - data[i]["oldRating"]
x[i] = data[i]["rank"]
for j in range(len(rating)):
if data[i]["oldRating"] < rating[j][0]:
color.append(rating[j][1])
break
plt.figure(figsize=(8, 6))
plt.title(title)
plt.xlabel("Rank")
plt.ylabel("Delta Rate")
plt.yticks(np.arange(-300, 301, 50))
plt.ylim(-300, 300)
plt.grid()
plt.scatter(x, delta, s=0.5, c=color)
plt.show()
Replies to Re: RankVsDelta
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}