天天看點

python學習——pygal建立圖表

投擲一個六面骰子,繪制出投擲100次各點數出現的分布情況

from die import Die
import pygal
die = Die()
results = []
for roll_num in range(100):
    result = die.roll()
    results.append((result))
fresequences = []
for value in range(1,die.num_sides+1):
    fresequence = results.count(value)
    fresequences.append(fresequence)
#對結果進行可視化
#為建立條形圖,我們建立了一個pygal.Bar()執行個體
hist = pygal.Bar()
hist.title = "Results of rolling one D6 100times."
hist.x_labels = range(1,7)
hist.x_title = "Result"
hist._y_title = "fresequence of results"
hist.add('D6',fresequences)
#将這個 圖表渲染為一個SVG檔案,這種檔案的擴充名必須為.svg。 
#要檢視生成的直方圖,簡單的方式是使用Web浏覽器。為此,在任何Web浏覽器中建立一 個标簽頁,再在其中打開檔案die_visual.svg
hist.render_to_file('die_visual.svg')
           
python學習——pygal建立圖表

投擲2個六面骰子,繪制出投擲1000次各點數出現的分布情況

繪制氣溫表

import csv
import matplotlib.pyplot as plt
from datetime import datetime
filename = 'sitka_weather_07-2014.csv'
with open(filename)as f:
    #.reader建立一個閱讀器對象
    reader = csv.reader(f)
    header_row = next(reader)
    #存儲最高溫度
    hights = []
    datetimes = []
    lows = []
    for row in reader:
        hight = int(row[1])
        #子產品datetime中的datetime類,然後調用方法strptime(),
        # 并将包含所需日 期的字元串作為第一個實參。第二個實參告訴Python如何設定日期的格式。
        current_date = datetime.strptime(row[0], "%Y-%m-%d")
        low = int(row[3])
        hights.append(hight)
        datetimes.append(current_date)
        lows.append(low)
fig = plt.figure(dpi=128, figsize=(10, 6))
plt.plot(datetimes,hights,c="red")
plt.plot(datetimes,lows,c = "blue")
#在最高溫度最低溫度之間填充顔色
#實參alpha指定顔色的透明度。Alpha值為0表示完全透明,1(預設設定)表示完全不透明
plt.fill_between(datetimes,hights,lows,facecolor = 'blue',alpha = 0.1)
plt.title("Daily high temperatures, July 2014", fontsize=24)
plt.xlabel('', fontsize=16)
fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show()

           
python學習——pygal建立圖表