Python画太极
从古代的“三百六十行,行行出状元”到现如今的三万六千行,各行各业都有自己供奉的祖师爷, “天下百工圣人作”说的就是如此。比如,卖鞋的拜刘备,搞木工的拜鲁班,当老师的拜孔子,跑江湖的拜关二爷。那数据分析师拜谁呀?
龟叔?
贝叶斯?
……..
哪能啊。数据分析师的拜的是周易。
谁?周易。怎么能是他呢?
你想啊,古人都会求不同的卦,比如学业卦,事业卦,解梦卦,婚姻卦,风水卦;如今呢,数据分析师分析销售情况、运营情况、评估决策、预测趋势,两者都是一个道理。
既然数据分析师的祖师爷是周易,那我们今天来用数据分析师常用的 matplotlib 来画一副太极图。
第一步,导入所需工具库
import matplotlib.pyplot as plt import numpy as np %matplotlib inline
第二步,设置整张画布的大小与颜色
plt.figure(figsize=(8,8),dpi=80) ax = plt.gca() ax.patch.set_facecolor("gray")
第三步,设置太极图最外层大圆的参数并绘画
r = 4.0 a, b = (0., 0.) theta = np.arange(0, 2*np.pi, 0.001) x = a + r * np.cos(theta) y = b + r * np.sin(theta) plt.fill_between(x,y,where=y>=0,facecolor='white',interpolate=True) plt.fill_between(x,y,where=y<=0,facecolor='black',interpolate=True)
第四步,设置太极图中间半圆的参数并绘画
x=np.linspace(0,4) y=-np.sqrt(4-(x-2)**2)+0.02 plt.fill(x,y,'white') x=np.linspace(-4,0) y=np.sqrt(4-(x+2)**2) plt.fill(x,y-0.02,'black')
第五步,设置太极图小圆点的参数并绘画
r=0.37 plt.fill(r*np.cos(theta)-2,r*np.sin(theta),'white') plt.fill(r*np.cos(theta)+2,r*np.sin(theta),'black') plt.xticks([]) plt.yticks([])
一副太极图就画出来了:
好了,这就完成了数据分析师拜祖师爷的礼仪。