Matplotlib 2016-04-15
'''
繪制P/E、P/B的歷史數據
'''
?
import csv
import matplotlib.pyplot as plt
import numpy as np
import os
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
def read_data(file_name):
f = file(file_name, 'rb')
context = csv.reader(f) #讀取csv文件
time = []
data = []
for line in context:
if context.line_num == 1: #第一行數據保存為標簽
labels = line[1:]
continue
time.append(line[0]) #第一列保存為時間
data.append(line[1:]) #記錄表格數據
f.close()
data = np.array(data, dtype=float).T #每一行表示一個標簽下的所有數據
return time, data, labels
def plot_PE_PB():
time, pe, labels = read_data('PE.csv')
time, pb, labels = read_data('PB.csv')
N = len(labels)
for k in range(1,N):
x = [datetime.datetime.strptime(i, '%Y/%m/%d') for i in time] #字符轉日期
y_pe = (pe[k] - pe[0]) / pe[0] #第0行數據為滬深300
y_pb = (pb[k] - pb[0]) / pb[0] #計算相對滬深300的溢價
fig = plt.figure(k)
label_name = labels[k].decode('gbk').encode('utf-8')
label_name += ' 溢價率'
label_name = label_name.decode('utf-8')
plt.title(label_name)
plt.plot(x, y_pe, label='PE', linestyle='-')
plt.plot(x, y_pb, label='PB', linestyle='--')
plt.legend(loc='best') #顯示標簽信息
fig.autofmt_xdate() #X軸坐標信息自動調整位置
plt.savefig('PB//%s.jpg' % label_name, dpi=180) #保存為JPG圖片
轉載于:https://www.cnblogs.com/watery45/p/5297333.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Matplotlib 2016-04-15的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷军反击董明珠:感觉董总好像认输了似的
- 下一篇: md5加密篇(一)