"""Generate 2017-countable-star-topologies.png in the current directory.""" import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt from matplotlib.patches import Circle import numpy as np def main(): fig,(left,right)=plt.subplots(1,2,figsize=(10,4.7),dpi=100,facecolor="white") for n,angle in enumerate(np.linspace(0,2*np.pi,9,endpoint=False),start=1): direction=np.array([np.cos(angle),np.sin(angle)]) delta=.4/n;point=.8/n left.plot([0,direction[0]],[0,direction[1]],color="#94a3b8",lw=1.1) left.plot([0,delta*direction[0]],[0,delta*direction[1]],color="#2563eb",lw=4) left.scatter([point*direction[0]],[point*direction[1]],color="#b91c1c",s=24,zorder=5) if n in [1,3,6]: left.text(*(1.11*direction),rf"arm {n}",ha="center",va="center",fontsize=9) left.scatter([0],[0],color="#111827",s=25,zorder=6) left.text(-1.15,-1.32,r"Blue: $0\leq t",color="#7e22ce"),color="#7e22ce") right.text(.53,-.10,"Limiting ray omitted",color="#b91c1c",fontsize=10,ha="center") right.set_title(r"Metric fan: $t\mapsto te^{i/n}$",fontsize=12,pad=12) right.set(xlim=(-.15,1.28),ylim=(-.25,1.05));right.set_aspect("equal");right.axis("off") fig.suptitle("A finite drawing illustrates two different infinite-star topologies",fontsize=14,y=.97) fig.subplots_adjust(left=.025,right=.98,top=.80,bottom=.09,wspace=.20) fig.savefig("2017-countable-star-topologies.png",dpi=100,facecolor="white");plt.close(fig) if __name__=="__main__":main()