Python数据可视化之Matplotlib(饼图)
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-size: large"><strong>使用</strong></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><strong>Matplotlib</strong></span></span></span><span style="font-size: large"><strong>提供的</strong></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><strong>pie()</strong></span></span></span><span style="font-size: large"><strong>函数绘制饼图</strong></span></p><p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">import matplotlib.pyplot as plt</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">import matplotlib.font_manager as fm #</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">字体管理器</span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left"> <br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">准备字体</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">my_font
=
fm.FontProperties(fname="/usr/share/fonts/wqy-microhei/wqy-microhei.ttc")</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">准备数据</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">data
=
</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">准备标签</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">labels
= ['Java','C','C++','Python','Visual
Basic.NET','C#','PHP','JavaScript','SQL','Assembly langugage','</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">其他</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">']</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">将排列在第</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">4</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">位的语言</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">(Python)</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">分离出来</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">explode
=</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">使用自定义颜色</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">colors
= ['red','pink','magenta','purple','orange']</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">将横、纵坐标轴标准化处理</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">,</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">保证饼图是一个正圆</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">,</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">否则为椭圆</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.axes(aspect='equal')</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">控制</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">X</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴和</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">Y</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴的范围</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">(</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">用于控制饼图的圆心、半径</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.xlim(0,8)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.ylim(0,8)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">不显示边框</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.gca().spines['right'].set_color('none')</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.gca().spines['top'].set_color('none')</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.gca().spines['left'].set_color('none')</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.gca().spines['bottom'].set_color('none')</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">绘制饼图</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.pie(x=data,
#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">绘制数据</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">labels=labels,#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">添加编程语言标签</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">explode=explode,#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">突出显示</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">Python</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">colors=colors,
#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置自定义填充色</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">autopct='%.3f%%',#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置百分比的格式</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">,</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">保留</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">3</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">位小数</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">pctdistance=0.8,
#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置百分比标签和圆心的距离</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">labeldistance=1.0,#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置标签和圆心的距离</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">startangle=180,#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置饼图的初始角度</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">center=(4,4),#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置饼图的圆心</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">(</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">相当于</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">X</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴和</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">Y</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴的范围</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">radius=3.8,#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置饼图的半径</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">(</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">相当于</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">X</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴和</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">Y</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴的范围</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">counterclock=
False,#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">是否为逆时针方向</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">,False</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">表示顺时针方向</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">wedgeprops=
{'linewidth':1,'edgecolor':'green'},#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置饼图内外边界的属性值</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">textprops=
{'fontsize':12,'color':'black','fontproperties':my_font},#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">设置文本标签的属性值</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">frame=1)
#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">是否显示饼图的圆圈</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">,1</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">为显示</span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">不显示</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">X</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴、</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">Y</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">轴的刻度值</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.xticks(())</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.yticks(())</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; font-weight: normal; line-height: 150%" align="left">
<br>
</p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">添加图形标题</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.title('2018</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">年</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">8</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">月的编程语言指数排行榜</span></span><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">',fontproperties=my_font)</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">#</span></span></span></span><span style="font-size: large"><span style="font-weight: normal">显示图形</span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left">
<span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal">plt.show()</span></span></span></span></p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"> </p>
<p class="cjk" style="margin-bottom: 0; line-height: 150%" align="left"><span style="font-family: Liberation Serif, serif"><span lang="en-US"><span style="font-size: large"><span style="font-weight: normal"><img src="https://img2018.cnblogs.com/blog/1686234/201905/1686234-20190515174233327-753954208.png"></span></span></span></span></p>
<p> </p>
<style>p { margin-bottom: 0.25cm; direction: ltr; color: rgba(0, 0, 10, 1); line-height: 120%; text-align: left }
p.western { font-family: "Liberation Serif", serif; font-size: 12pt }
p.cjk { font-family: "文泉驿点阵正黑"; font-size: 12pt }
p.ctl { font-family: "Lohit Devanagari"; font-size: 12pt }</style>
<p> </p><br><br>
来源:https://www.cnblogs.com/lone5wolf/p/10871008.html
頁:
[1]