当前位置:网站首页>全网首发,用matplotlib画太极图

全网首发,用matplotlib画太极图

2020-12-08 12:29:11 数据山谷

从古代的“三百六十行,行行出状元”到现如今的三万六千行,各行各业都有自己供奉的祖师爷, “天下百工圣人作”说的就是如此。比如,卖鞋的拜刘备,搞木工的拜鲁班,当老师的拜孔子,跑江湖的拜关二爷。那数据分析师拜谁呀?

龟叔?

贝叶斯?

……..

哪能啊。数据分析师的拜的是周易。

谁?周易。怎么能是他呢?

你想啊,古人都会求不同的卦,比如学业卦,事业卦,解梦卦,婚姻卦,风水卦;如今呢,数据分析师分析销售情况、运营情况、评估决策、预测趋势,两者都是一个道理。

既然数据分析师的祖师爷是周易,那我们今天来用数据分析师常用的 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([])

一副太极图就画出来了。

好了,这就完成了数据分析师拜祖师爷的礼仪。

“小伙儿,我看你印堂发亮,从事数据分析行业,必能大富大贵”

本文分享自微信公众号 - 数据山谷(BigDataValley) ,作者:Sandy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间: 2020-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[数据山谷]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1757864