首页 > 编程语言 > 详细

Python高级数据处理与可视化(二)

时间:2017-01-24 07:41:54      阅读:960      评论:0      收藏:0      [点我收藏+]

2. Matplotlib绘图基础

  问题:CentOS下没有图片生成,改为Windows下Anaconda IDE。

  2.1 最著名的Python绘图库,主要用于二维绘图:

    2.1.1 画图质量高

    2.1.2 方便快捷的绘图模块:

      绘图API -- pyplot模块

      集成库 -- pylab模块(包含Numpy和pyplot中的常用函数)

  2.2 心型曲线绘制:http://matplotlib.org/examples/shapes_and_collections/path_patch_demo.html

技术分享
# -*- coding: utf-8 -*-
"""
Demo of a PathPatch object.
"""
import matplotlib.path as mpath
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt


fig, ax = plt.subplots()

Path = mpath.Path
path_data = [
    (Path.MOVETO, (1.58, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 2.0)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -0.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)
patch = mpatches.PathPatch(path, facecolor=r, alpha=0.5)
ax.add_patch(patch)

# plot control points and connecting lines
x, y = zip(*path.vertices)
line, = ax.plot(x, y, go-)

ax.grid()
ax.axis(equal)
plt.show()
path_patch_demo.py

技术分享

  2.2 将Cocacola近一年来股票收盘价的月平均价绘制成折线图,散点图,直方图(括号中参数为列表)

技术分享
from matplotlib.finance import quotes_historical_yahoo_ochl
from datetime import date, datetime
import time
import pandas as pd
import matplotlib.pyplot as plt
today = date.today()
start = (today.year-1, today.month, today.day)
quotes = quotes_historical_yahoo_ochl(KO, start, today)
fields = [date,open,close,high,low,volume]
list1 = []
for i in range(0,len(quotes)):
    x = date.fromordinal(int(quotes[i][0]))
    y = datetime.strftime(x,%Y-%m-%d)
    list1.append(y)
#print(list1)
quoteskodf = pd.DataFrame(quotes, index = list1, columns = fields)
quoteskodf = quoteskodf.drop([date], axis = 1)
#print(quotesdf)
listtemp = []
for i in range(0,len(quoteskodf)):
    temp = time.strptime(quoteskodf.index[i],"%Y-%m-%d")  # 提取月份
    listtemp.append(temp.tm_mon)
#print(listtemp) # “print listtemp” in Python 2.x
tempkodf = quoteskodf.copy()
tempkodf[month] = listtemp
closeMeansKO = tempkodf.groupby(month).mean().close
listKO = []
for i in range(1,13):
    listKO.append(closeMeansKO[i])
listKOIndex = closeMeansKO.index
plt.plot(listKOIndex,listKO)  # 前两个参数为x轴和y轴的数据,第三个参数默认折线图,‘o‘则为散点图
#plt.bar(listKOIndex,listKO)  # 则为直方图
plt.show()
plt.plot(listKOIndex,listKO)

技术分享 技术分享 技术分享

  2.3 Numpy数组也可作为Matplotlib的参数 和 pylab绘图

技术分享
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0.,4.,0.1)
plt.plot(t,t,t,t+2,t,t**2)
plt.show()
plt.plot(t,t,t,t+2,t,t**2)
技术分享
import numpy as np
import matplotlib.pylab as pl
t = np.arange(0.,4.,0.1)
pl.plot(t,t,t,t+2,t,t**2)
pl.show()
import matplotlib.pylab as pl

技术分享

 

Python高级数据处理与可视化(二)

原文:http://www.cnblogs.com/wnzhong/p/6345620.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!