Python如何用Matplotlib画出优雅的扇形图? – Python量化投资

Python如何用Matplotlib画出优雅的扇形图?

我们用Matplotlib直接画出的扇形图往往如下:

它看起来有以下一些缺点:

1.颜色不够柔和

2.有重复的颜色

3.各颜色部分未标出指示对象

4.圆形变成了椭圆,不美观

画出上图的代码很简单,如下:

fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(9,10))     #在画布上画2*2个图,我们的扇形图将会是第一个图,为了简洁,我们不显示另外三个分图。

ax1,ax2,ax3,ax4=axes.flatten()                                         #flatten()将ax由2*2的Axes组展平成1*4的Axes组

total_sales=country_metrics[“total_sales”].copy()             #复制要画的数据

total_sales.plot.pie(ax=ax1)                                               #在第一个分图中画出扇形图

然而,经过适当的调整,你可以画出如下更加美观的扇形图:

它的美观显而易见:

1.颜色更加柔和美观

2.作图角度为顺时针,且从垂直-90度开始,更加整洁易读

3.每扇都有清晰的内容指示,且标题和每扇文字大小,粗细有别

4.没有重复的颜色

画出上图的代码如下:

colors = [plt.cm.Accent(i) for i in np.linspace(0, 1, country_metrics.shape[0])]     #制作颜色,从0到1的区域内均匀选取

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(9, 10))              #在画布上画2*2个图,我们的扇形图将会是第一个图,为了简洁,我们不显示另外三个分图。

ax1, ax2, ax3, ax4 = axes.flatten()                                                   #flatten()将ax由2*2的Axes组展平成1*4的Axes组

fig.subplots_adjust(hspace=.5, wspace=.3)                                     #调整分图距离,我们的图片里只是截取了第一个分徒(扇形图)

sales_breakdown = country_metrics[“total_sales”].copy()               #复制要画的数据

sales_breakdown.plot.pie(                                                                #画扇形图

    ax=ax1,                                                                                         #画第一个分图

    startangle=-90,                                                                              #开始画图角度为-90度

    counterclock=False,                                                                      #顺时针作图

    title=’Sales Breakdown by Country,\nNumber of Customers’,       #标题

    colormap=plt.cm.Accent,                                                               #颜色映射

    fontsize=8,                                                                                     #字体大小

    wedgeprops={‘linewidth’:0}                                                            #设置扇形边界线宽

https://www.jianshu.com/p/cecdfc100999

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论