python+matplot+pyplot画图

参考地址:http://blog.csdn.net/luoyexuge/article/details/49069225

热图plt.imshow:http://blog.csdn.net/Eastmount/article/details/73392106?locationNum=5&fps=1

非常漂亮的几个图例:http://www.php.cn/python-tutorials-362064.html

函数名 功能 调用格式
figure 创建一个显示窗口 plt.figure(num=1,figsize=(8,8)
imshow 绘制图片 plt.imshow(image)
show 显示窗口 plt.show()
subplot 划分子图 plt.subplot(2,2,1)
title 设置子图标题(与subplot结合使用) plt.title('origin image')
axis 是否显示坐标尺 plt.axis('off')
subplots 创建带有多个子图的窗口 fig,axes=plt.subplots(2,2,figsize=(8,8))
ravel 为每个子图设置变量 ax0,ax1,ax2,ax3=axes.ravel()
set_title 设置子图标题(与axes结合使用) ax0.set_title('first window')
tight_layout 自动调整子图显示布局 plt.tight_layout()
注意:别安装错了 

pip install matplotlib==1.4.3

标准头

import sys
reload(sys)
sys.setdefaultencoding('utf8')

import matplotlib
matplotlib.use(u'TkAgg')
from matplotlib import pyplot as plt

#encoding:utf-8  

# 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())  


# 画简单的图形  
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()

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

#条形图
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()  


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



#画三维图  
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()  


#用于图像显示的问题
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() 


#画累和图  
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()  
  

#画柱状图  
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()  
  
#散点图  
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() 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值