Matplotlib | 高阶绘图案例【1】

大家好,我是 👉【Python当打之年(点击跳转)】

本期是 Matplotlib高阶绘图案例系列 的第一期,核心是楔形图 Matplotlib系列和Pyecharts系列都会不间断更新,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

先看看效果:

在这里插入图片描述

🏳️‍🌈 1. 绘制图布,设置坐标范围

fig, ax = plt.subplots(1, 1,figsize=(4,4))
ax.set_xlim(0,26)
ax.set_ylim(0,26)

在这里插入图片描述

🏳️‍🌈 2. 绘制圆角矩形

可以看到图上是有6个相同部分组成的,所以只要画出一个,其他复制就可以了:

fig, ax = plt.subplots(1, 1,figsize=(8,8),dpi=100)
ax.set_xlim(0,26)
ax.set_ylim(0,26)
# 圆心/半径
center_x,center_y,r = 2,15,0.8
# 宽/高/数量
wide,high,num = 2,4,500
pgon = plt.Polygon(get_cir_rect(center_x,center_y,r,wide,high,num))
ax.add_patch(pgon)

在这里插入图片描述

循环绘制其余的几个矩形:

for idx,value in enumerate(range(2,24,4)):
    pgon = plt.Polygon(get_cir_rect(value,center_y,r,wide,high,num))
    ax.add_patch(pgon)

在这里插入图片描述

🏳️‍🌈 3. 添加水滴

wed = Wedge((value+wide/2,center_y-r-high),0.5,0,360,color='w',width=0.5)
wed1 = Wedge((value+wide/2,center_y-r-high),0.4,0,360,width=0.15)
pgon1 = plt.Polygon(([value+wide/2-0.3,center_y-r-high-0.25],[value+wide/2+0.32,center_y-r-high-0.25],[value+wide/2+0.01,center_y-r-high-0.6]))
ax.add_patch(wed)
ax.add_patch(pgon1)
ax.add_patch(wed1)

在这里插入图片描述

🏳️‍🌈 4. 添加时间线

line = Rectangle((1,ys[0]),24,0.06,color='#757575')
ax.add_patch(line)
ax.plot(xs,ys,marker='o', markerfacecolor='white',color='#757575',markeredgewidth=2,markeredgecolor='#757575')
ax.arrow(xs[-1],ys[0],2,0,width=0.06,head_starts_at_zero=True,color='#757575')

在这里插入图片描述

🏳️‍🌈 5. 添加文本、配色

colors = ['#FEE8DD','#F5E9D9','#FADCDD','#FEF2DD','#ECE2E2','#F8E6E0']
colors_t = ['#B71C1C','#6D4C41','#931D21','#E1A400','#6D4C41','#FF7900']
texts = ['手工操作','单道\n批处理\n系统','多道\n批处理\n系统','分时\n操作系统','实时\n操作系统','现代\n操作系统']
years = ['1940S','1950S','1960S','1970S','1970S','1970S']

ax.text(value+wide/2,center_y-high/2,texts[idx],verticalalignment='center',horizontalalignment='center',fontsize=12,color=colors_t[idx], fontweight='bold')
ax.text(value+wide/2,center_y-high/2-5,years[idx],horizontalalignment='center',fontsize=12, fontweight='bold')
ax.text(13,17.2,'操作系统的早期发展过程',horizontalalignment='center',fontsize=16, fontweight='bold')

在这里插入图片描述

🏳️‍🌈 6. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python当打之年

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值