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 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
python之拟合的实现
Jul 19 Python
Python发送邮件的实例代码讲解
Oct 16 Python
Python TCP通信客户端服务端代码实例
Nov 21 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 Python
Python实现手绘图效果实例分享
Jul 22 Python
浅析python函数式编程
Sep 26 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
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
深入学习Python中的上下文管理器与else块
2017/08/27 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
python清除函数占用的内存方法
2018/06/25 Python
python抖音表白程序源代码
2019/04/07 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
游戏商店:Eneba
2020/04/25 全球购物
防灾减灾活动总结
2014/08/30 职场文书
保卫工作个人总结
2015/03/03 职场文书
工作推荐信模板
2015/03/25 职场文书
听证通知书
2015/04/24 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
六年级作文之关于梦
2019/10/22 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
Go语言读取txt文档的操作方法
2022/01/22 Golang