Python|用matplotlib画太极图
作者:互联网
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([])
一副太极图就画出来了:
好了,这就完成了数据分析师拜祖师爷的礼仪。
标签:太极图,plt,Python,matplotlib,np,theta,fill 来源: https://blog.csdn.net/qq_35164554/article/details/110438093