Python使用matplotlib和pandas实现的画图操作【经典示例】


Posted in Python onJune 13, 2018

本文实例讲述了Python使用matplotlib和pandas实现的画图操作。分享给大家供大家参考,具体如下:

画图在工作再所难免,尤其在做数据探索时候,下面总结了一些关于python画图的例子

#encoding:utf-8
'''''
Created on 2015年9月11日
@author: ZHOUMEIXU204
'''
# pylab 是 matplotlib 面向对象绘图库的一个接口。它的语法和 Matlab 十分相近
import pandas as pd
#from ggplot import *
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randn(1000,4),columns=list('ABCD'))
df=df.cumsum()
print(plt.figure())
print(df.plot())
print(plt.show())
# print(ggplot(df,aes(x='A',y='B'))+geom_point())

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

# 画简单的图形
from pylab import *
x=np.linspace(-np.pi,np.pi,256,endpoint=True)
c,s=np.cos(x),np.sin(x)
plot(x,c, color="blue", linewidth=2.5, linestyle="-", label="cosine") #label用于标签显示问题
plot(x,s,color="red", linewidth=2.5, linestyle="-", label="sine")
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

#散点图
from pylab import *
n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
scatter(X,Y)
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

#条形图
from pylab import *
n = 12
X = np.arange(n)
Y1 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)
Y2 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)
bar(X, +Y1, facecolor='#9999ff', edgecolor='white')
bar(X, -Y2, facecolor='#ff9999', edgecolor='white')
for x,y in zip(X,Y1):
 text(x+0.4, y+0.05, '%.2f' % y, ha='center', va= 'bottom')
ylim(-1.25,+1.25)
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

#饼图
from pylab import *
n = 20
Z = np.random.uniform(0,1,n)
pie(Z), show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

#画三维图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from pylab import *
fig=figure()
ax=Axes3D(fig)
x=np.arange(-4,4,0.1)
y=np.arange(-4,4,0.1)
x,y=np.meshgrid(x,y)
R=np.sqrt(x**2+y**2)
z=np.sin(R)
ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap='hot')
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

#用于图像显示的问题
import matplotlib.pyplot as plt
import pandas as pd
weights_dataframe=pd.DataFrame()
plt.figure()
plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x1,label='weights_x1')
plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x0,label='weights_x0')
plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x2,label='weights_x2')
plt.legend(loc='upper right') #用于标签显示问题
plt.xlabel(u"迭代次数", fontproperties='SimHei')
plt.ylabel(u"参数变化", fontproperties='SimHei')
plt.title(u"迭代次数显示", fontproperties='SimHei') #fontproperties='SimHei' 用于可以显示中文
plt.show()
import matplotlib.pyplot as plt
from numpy.random import random
colors = ['b', 'c', 'y', 'm', 'r']
lo = plt.scatter(random(10), random(10), marker='x', color=colors[0])
ll = plt.scatter(random(10), random(10), marker='o', color=colors[0])
l = plt.scatter(random(10), random(10), marker='o', color=colors[1])
a = plt.scatter(random(10), random(10), marker='o', color=colors[2])
h = plt.scatter(random(10), random(10), marker='o', color=colors[3])
hh = plt.scatter(random(10), random(10), marker='o', color=colors[4])
ho = plt.scatter(random(10), random(10), marker='x', color=colors[4])
plt.legend((lo, ll, l, a, h, hh, ho),
   ('Low Outlier', 'LoLo', 'Lo', 'Average', 'Hi', 'HiHi', 'High Outlier'),
   scatterpoints=1,
   loc='lower left',
   ncol=3,
   fontsize=8)
plt.show()
#pandas中画图
#画累和图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
ts=pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000))
ts=ts.cumsum()
ts.plot()
plt.show()
df=pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list('ABCD'))
df=df.cumsum()
df.plot()
plt.show()
import pandas as pd
import  numpy  as  np
import matplotlib.pyplot as plt
#画柱状图
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot(kind='bar') #分开并列线束
df2.plot(kind='bar', stacked=True) #四个在同一个里面显示 百分比的形式
df2.plot(kind='barh', stacked=True)#纵向显示
plt.show()
df4=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':np.random.randn(1000)-1},columns=list('abc'))
df4.plot(kind='hist', alpha=0.5)
df4.plot(kind='hist', stacked=True, bins=20)
df4['a'].plot(kind='hist', orientation='horizontal',cumulative=True) #cumulative是按顺序排序,加上这个
plt.show()
#Area Plot
df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='area')
df.plot(kind='area',stacked=False)
plt.show()
#散点图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='scatter', x='a', y='b')
df.plot(kind='scatter', x='a', y='b',color='DarkBlue', label='Group 1')
#饼图
df = pd.DataFrame(3 * np.random.rand(4, 2), index=['a', 'b', 'c', 'd'], columns=['x', 'y'])
df.plot(kind='pie', subplots=True, figsize=(8, 4))
df.plot(kind='pie', subplots=True,autopct='%.2f',figsize=(8, 4)) #显示百分比
plt.show()
#画矩阵散点图
df = pd.DataFrame(np.random.randn(1000, 4), columns=['a', 'b', 'c', 'd'])
pd.scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')
plt.show()

实际我个人喜欢用R语言画图,python画图也有ggplot类似的包

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python Django框架实现自定义表单提交
Mar 25 Python
python爬取各类文档方法归类汇总
Mar 22 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
python dataframe NaN处理方式
Dec 26 Python
关于Tensorflow分布式并行策略
Feb 03 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
python中加背景音乐如何操作
Jul 19 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 #Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 #Python
Pycharm导入Python包,模块的图文教程
Jun 13 #Python
mac下pycharm设置python版本的图文教程
Jun 13 #Python
使用Python来开发微信功能
Jun 13 #Python
python爬取足球直播吧五大联赛积分榜
Jun 13 #Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 #Python
You might like
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
php生成随机数的三种方法
2014/09/10 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
CCPry JS类库 代码
2009/10/30 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
JS打印组合功能
2016/08/04 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
python回调函数的使用方法
2014/01/23 Python
Python检测生僻字的实现方法
2016/10/23 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
Python多线程的退出控制实现
2020/08/10 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
酒店总经理岗位职责
2014/03/17 职场文书
节约用水倡议书
2014/04/16 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
美术学专业求职信
2014/07/23 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
2015年小学体育工作总结
2015/05/22 职场文书