python100天94画一个变化的彩色轮盘
如果想要画如下的图形
先画一个饼图Createdon2023年4月9日author:adminimportnumpyasnpimportmatplotlib。pyplotaspltn20Xnp。ones(n)X〔1〕2plt。pie(X,explodeX。05,colors〔f(ifloat(n))foriinrange(n)〕)
继续进行参数设置figplt。gcf()w,hfig。getfigwidth(),fig。getfigheight()rhfloat(w)plt。xlim(1。5,1。5)plt。ylim(1。5r,1。5r)plt。xticks(〔〕)plt。yticks(〔〕)
画上面的一个框
frommatplotlib。patchesimportFancyBboxPatchaxplt。gca()ax。addpatch(FancyBboxPatch((0。05,。87),width。66,height。165,cliponFalse,boxstylesquare,pad0,zorder3,facecolorwhite,alpha1。0,transformplt。gca()。transAxes))
FancyBboxPatch主要是实现一个框形区域,后面专门讲这个例子
FancyBboxPatch类似于Rectangle,但它在矩形周围画了一个漂亮的方框。矩形框到花式框的转换委托给中定义的样式类BoxStyle。
参数:xy浮起,浮起
框的左下角。
width浮动
盒子的宽度。
height浮动
盒子的高度。
箱型STR或matplotlib。patches。BoxStylestr或花式盒子的样式。这可以是BoxStyle样式名的实例或字符串,以及可选的逗号分隔属性(例如Round,pad0。2)。此字符串传递给BoxStyle构建一个BoxStyle对象。请参阅此处获取完整的文档。
以下框样式可用:
等级
名字
阿特斯
圆圈
circle
pad0。3
DArrow
darrow
pad0。3
LArrow
larrow
pad0。3
RArrow
rarrow
pad0。3
回合
round
焊盘0。3,圆角尺寸无
第四回合
round4
焊盘0。3,圆角尺寸无
圆齿
roundtooth
衬垫0。3,齿尺寸无
锯齿形
sawtooth
衬垫0。3,齿尺寸无
正方形
square
pad0。3
mutationscale浮点,默认值:1
应用于填充样式的缩放因子。
mutationaspect可选浮动
在变异之前,矩形的高度将被该值压缩,并且变异的长方体将被它的倒数拉伸。例如,这允许不同的水平和垂直填充。
添加文字
plt。text(0。05,1。02,PieChart:plt。pie(。。。),horizontalalignmentleft,verticalalignmenttop,sizexxlarge,transformplt。gca()。transAxes)plt。text(0。05,1。01,Makeapiechartofanarray,horizontalalignmentleft,verticalalignmenttop,sizelarge,transformplt。gca()。transAxes)完整的代码如下
Createdon2023年4月9日author:adminimportnumpyasnpimportmatplotlib。pyplotaspltn20Xnp。ones(n)X〔1〕2plt。pie(X,explodeX。05,colors〔f(ifloat(n))foriinrange(n)〕)figplt。gcf()w,hfig。getfigwidth(),fig。getfigheight()rhfloat(w)plt。xlim(1。5,1。5)plt。ylim(1。5r,1。5r)plt。xticks(〔〕)plt。yticks(〔〕)Addatitleandaboxarounditfrommatplotlib。patchesimportFancyBboxPatchaxplt。gca()ax。addpatch(FancyBboxPatch((0。05,。87),width。66,height。165,cliponFalse,boxstylesquare,pad0,zorder3,facecolorwhite,alpha1。0,transformplt。gca()。transAxes))plt。text(0。05,1。02,PieChart:plt。pie(。。。),horizontalalignmentleft,verticalalignmenttop,sizexxlarge,transformplt。gca()。transAxes)plt。text(0。05,1。01,Makeapiechartofanarray,horizontalalignmentleft,verticalalignmenttop,sizelarge,transformplt。gca()。transAxes)plt。show()
importnumpyasnpimportmatplotlib。pyplotaspltn20Xnp。ones(n)X〔1〕2plt。pie(X,explodeX。05,colors〔f(ifloat(n))foriinrange(n)〕)figplt。gcf()w,hfig。getfigwidth(),fig。getfigheight()rhfloat(w)plt。xlim(1。5,1。5)plt。ylim(1。5r,1。5r)plt。xticks(〔〕)plt。yticks(〔〕)Addatitleandaboxarounditfrommatplotlib。patchesimportFancyBboxPatchaxplt。gca()ax。addpatch(FancyBboxPatch((0。05,。87),width。66,height。165,cliponFalse,boxstylesquare,pad0,zorder3,facecolorwhite,alpha1。0,transformplt。gca()。transAxes))plt。text(0。05,1。02,PieChart:plt。pie(。。。),horizontalalignmentleft,verticalalignmenttop,sizexxlarge,transformplt。gca()。transAxes)plt。text(0。05,1。01,Makeapiechartofanarray,horizontalalignmentleft,verticalalignmenttop,sizelarge,transformplt。gca()。transAxes)plt。show()