第5關(guān):繪制程序設(shè)計(jì)語言餅圖
任務(wù)描述
列表labels和sizes中的數(shù)據(jù)分別是目前主流程序設(shè)計(jì)語言及其熱度數(shù)據(jù)(百分比),請根據(jù)這些數(shù)據(jù)繪制餅圖,并將Python程序設(shè)計(jì)語言所在區(qū)域突出0.1顯示。
labels = ['C語言', 'Python', 'Java', 'C++語言', 'C#', 'VB.net', 'Javascript', 'PHP', 'Other']
sizes = [16.2, 12.1, 11.7, 7.6, 4.7, 4.0, 2.0, 1.8, 39.9]
輸入格式
無
輸出格式
要求:文章來源:http://www.zghlxwxcb.cn/news/detail-543489.html
- 設(shè)置餅圖為圓形:
plt.axes(aspect=1) - 設(shè)置中文字體和負(fù)號顯示問題如下:
plt.rcParams[‘font.sans-serif’] = [‘SimSun’] - 解決保存圖像是負(fù)號’-'顯示為方塊的問題
plt.rcParams[‘a(chǎn)xes.unicode_minus’] = False - 設(shè)置各扇形標(biāo)簽(圖例)與圓心的距離(labeldistance)為1.1
- 自動添加百分比顯示(autopct),格式化為保留小數(shù)點(diǎn)后1位小數(shù)
- 添加餅圖的陰影效果
- 設(shè)置餅圖的初始擺放角度為90度
- 設(shè)置百分比標(biāo)簽與圓心的距離0.7
- 圖例左上角,指定圖例在軸的位置為 (-0.3, 1.1)
- 要求本地調(diào)試、運(yùn)行、繪制圖形后,寫入文件’program.png’中。
解題思路
本題的要求并不復(fù)雜,只要搞懂plt.pie()函數(shù)的參數(shù),對照題目的要求一一設(shè)置即可,其中突出部分題目只要求了Python突出0.1,所以將其設(shè)置為0.1,其它設(shè)置為0即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-543489.html
參考代碼
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimSun']
plt.rcParams['axes.unicode_minus'] = False
# 標(biāo)簽
labels = ['C語言', 'Python', 'Java', 'C++語言', 'C#', 'VB.net', 'Javascript', 'PHP', 'Other']
# 占比
weight = [16.2, 12.1, 11.7, 7.6, 4.7, 4.0, 2.0, 1.8, 39.9]
# 突出程度
out = [0,0.1,0,0,0,0,0,0,0]
# 圓形
plt.axes(aspect=1)
plt.pie(x=weight, explode=out, labels=labels, labeldistance=1.1, autopct='%2.1f%%', shadow=True, startangle=90, pctdistance=0.7)
plt.legend(loc='upper left', bbox_to_anchor=(-0.3, 1.1))
plt.savefig("output/program.png")
plt.show()
到了這里,關(guān)于【頭歌-Python】Python第九章作業(yè)(初級)第5關(guān)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!