4-8 pie与布局

阿里云2000元红包!本站用户参与享受九折优惠!

 











In [1]:


%matplotlib inline
import matplotlib.pyplot as plt








 

1.pie简单参数:plt.pie(x, explode=None, labels=None……)












属性说明类型
x数据list
labels标签list
autopct数据标签%0.1%% 保留一位小数
explode突出的部分,分离程度list
shadow是否显示阴影bool
pctdistance数据标签的距离圆心位置0~1
labeldistance标签的比例float
startangle开始绘图的角度float
radius半径长默认是1







In [2]:


m=51212.
f=40742
m_perc=m/(m+f)
f_perc=f/(m+f)

colors=['navy','lightcoral']
labels=["Male","Female"]

plt.figure(figsize=(5,5))#可控制圆的大小
paches,texts,autotexts=plt.pie([m_perc,f_perc],labels=labels,autopct='%1.1f%%',explode=[0,0.05],colors=colors)#画pie图

for text in texts+autotexts:
    text.set_fontsize(20)#设置字体大小
for text in autotexts:
    text.set_color('white')#设置字体颜色









 






 

2.设置子图布局







In [3]:


#3行3列的子图在0行0列的位置
ax1=plt.subplot2grid((3,3),(0,0))
ax2=plt.subplot2grid((3,3),(1,0))
ax3=plt.subplot2grid((3,3),(0,2),rowspan=3)#rowspan:在当前位置占用了几行
ax4=plt.subplot2grid((3,3),(2,0),colspan=2)#colspan:在当前位置占用了几列
ax5=plt.subplot2grid((3,3),(0,1),rowspan=2)









 






 

3.嵌套图







In [4]:


import numpy as np

x=np.linspace(0,10,1000)
y2=np.sin(x**2)
y1=x**2

fig,ax1=plt.subplots()#指定外层图
left,bottom,width,height=[0.22,0.45,0.3,0.35]#中间子图嵌套的位置
ax2=fig.add_axes([left,bottom,width,height])#加上子图

ax1.plot(x,y1)
ax2.plot(x,y2)









Out[4]:

[<matplotlib.lines.Line2D at 0x83e9da0>]





 







In [5]:


from mpl_toolkits.axes_grid1.inset_locator import inset_axes
#定义柱状图的标签位置定位函数
def autolabel(rects):
    for rect in rects:
        height=rect.get_height()
        ax1.text(rect.get_x()+rect.get_width()/2,1.02*height,
         "{:,}".format(float(height)),
         ha='center',va='bottom',fontsize=18)
        
        
#导入数据
top10_arrivals_countries=['CANADA','MWXICO','UNITED\nKINGDOM',\
                         'JAPAN','CHIAN','GERMANY','SOUTH\nKOREA',\
                         'FRANCE','BRAZIL','AUSTRALIA']
top10_arrivals_values=[16.6232,15.3245,3.1534,2.9954,\
                      2.6454,1.2545,1.6425,1.4253,\
                      1.3225,1.1354]
arrivals_countries=['WESTERN\nEUROPE','ASIA','SOUTH\nAMERICA',\
                   'OCEANIA','CARIBBEAN','MIDDLE\nEAST',\
                   'CENTEAL\nAMERICA','EASTERN\nEUROPE','AFRICA']
arrivals_percent=[36.9,30.4,13.8,4.4,4.0,3.6,2.9,2.6,1.5]

fig,ax1=plt.subplots(figsize=(20,12))#指定外层图
labell=ax1.bar(range(10),top10_arrivals_values,color='blue')#柱状图1
#写注释,柱状图
plt.xticks(range(10),top10_arrivals_countries,fontsize=10)

#画子图
ax2=inset_axes(ax1,width=6,height=6,loc=5)#添加子图小图,loc是具体位置

explode=(0.08,0.08,0.05,0.05,0.08,0.08,0.04,0.04,0.05)#缝隙距离
patchea,texts,autotexts=ax2.pie(arrivals_percent,labels=arrivals_countries,autopct='%1.1f%%',explode=explode)
#设置字体大小,子图
for text in texts+autotexts:
    text.set_fontsize(16)

#设置轴位置spines
for spine in ax1.spines.values():
    spine.set_visible(False)#指定下面轴不可见
#柱状图label标注数据
autolabel(labell)









 










https://www.cnblogs.com/AI-robort/p/11750806.html

Python量化投资网携手4326手游为资深游戏玩家推荐:《《阴阳师:百闻牌》:式神介绍 【白狼】轮到你了!

「点点赞赏,手留余香」

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