應用pandas可讀取excel文件中的數據,存儲為數據框,並應用matplotlib包中的方法進行數據可視化。
本例中讀取的stock.xlsx文件中的數據為
一、畫餅圖
import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdate # 時間序列繪圖示例 stock = pd.read_excel('stock.xlsx', index_col = 0)# 讀取Excel文件,存為數據框stock,並指導第0列為數據框的索引列 print(stock.head) plt.rcParams['font.sans-serif'] = 'Simhei' #設置中文 plt.figure(figsize=(6,6)) #設置長寬,建立窗口 plt.title('2018年5月成效量餅圖') #設置圖標題 plt.pie(stock.volume[0:5], labels = stock.index[0:5, autopct = '%1.1f%%') plt.grid(True) plt.show()
繪制的圖形如下:
畫折線圖代碼如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdate
from datetime import datetime
# 時間序列繪圖示例
stock = pd.read_excel('stock.xlsx')# 讀取Excel文件,存為數據框stock,並指導第0列為數據框的索引列
print(stock.head)
plt.rcParams['font.sans-serif'] = 'Simhei' #設置中文
fig1 = plt.figure(figsize=(8,8)) #設置長寬,建立窗口
xs = stock['date'].astype(str)
xs = [datetime.strptime(d, '%Y-%m-%d').date() for d in xs]
ax1 = fig1.add_subplot(1, 1, 1)
ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d')) # 設置時間標簽顯示格式
plt.xticks(pd.date_range(xs[1],xs[-1]))
plt.plot(xs,stock.open, color = 'k', label = '開盤')
plt.plot(xs,stock.close, color = 'b', label = '收盤')
plt.plot(xs,stock.high, color = 'r', label = '最高價')
plt.legend(loc = 0)
plt.grid(True)
plt.show()
運行后生成下圖:
畫直方圖代碼如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdate
from datetime import datetime
# 時間序列繪圖示例
stock = pd.read_excel('stock.xlsx')# 讀取Excel文件,存為數據框stock,並指導第0列為數據框的索引列
print(stock.head)
plt.rcParams['font.sans-serif'] = 'Simhei' #設置中文
fig1 = plt.figure(figsize=(8,8)) #設置長寬,建立窗口
xs = stock['date'].astype(str)
xs = [datetime.strptime(d, '%Y-%m-%d').date() for d in xs]
ax1 = fig1.add_subplot(1, 1, 1)
ax1.xaxis.set_major_formatter(mdate.DateFormatter('%m-%d')) # 設置時間標簽顯示格式
plt.xticks(pd.date_range(xs[0],xs[-1]))
plt.bar(xs,stock.volume, color = 'g', width = 0.5)
plt.title('成交量直方圖')
plt.xlabel('日期')
plt.ylabel('成交量')
運行后顯示