python画图_matplotlib和pandas

来源:互联网 发布:json文件怎么打开 编辑:程序博客网 时间:2024/05/18 20:45
[python] view plain copy
  1. #encoding:utf-8  
  2. ''''' 
  3. Created on 2015年9月11日 
  4.  
  5. @author: ZHOUMEIXU204 
  6. '''  
  7.   
  8. # pylab 是 matplotlib 面向对象绘图库的一个接口。它的语法和 Matlab 十分相近  
  9. import  pandas  as pd  
  10. from  ggplot  import *  
  11. import numpy  as np  
  12. import  matplotlib.pyplot   as plt  
  13. df=pd.DataFrame(np.random.randn(1000,4),columns=list('ABCD'))  
  14. df=df.cumsum()  
  15. print(plt.figure())  
  16. print(df.plot())  
  17. print(plt.show())  
  18.   
  19. # print(ggplot(df,aes(x='A',y='B'))+geom_point())  
  20.   
  21. # 画简单的图形  
  22. from   pylab  import  *  
  23. x=np.linspace(-np.pi,np.pi,256,endpoint=True)  
  24. c,s=np.cos(x),np.sin(x)  
  25. plot(x,c, color="blue", linewidth=2.5, linestyle="-", label="cosine")  #label用于标签显示问题  
  26. plot(x,s,color="red",  linewidth=2.5, linestyle="-", label="sine")  
  27. show()  
  28.   
  29.   
  30. #散点图  
  31. from pylab import *  
  32. n = 1024  
  33. X = np.random.normal(0,1,n)  
  34. Y = np.random.normal(0,1,n)  
  35. scatter(X,Y)  
  36. show()  
  37.   
  38. #条形图  
  39.   
  40. from pylab import *  
  41. n = 12  
  42. X = np.arange(n)  
  43. Y1 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)  
  44. Y2 = (1-X/float(n)) * np.random.uniform(0.5,1.0,n)  
  45. bar(X, +Y1, facecolor='#9999ff', edgecolor='white')  
  46. bar(X, -Y2, facecolor='#ff9999', edgecolor='white')  
  47. for x,y in zip(X,Y1):  
  48.     text(x+0.4, y+0.05'%.2f' % y, ha='center', va= 'bottom')  
  49. ylim(-1.25,+1.25)  
  50. show()  
  51.   
  52.   
  53. #饼图  
  54. from pylab import *  
  55. n = 20  
  56. Z = np.random.uniform(0,1,n)  
  57. pie(Z), show()  
  58.   
  59.   
  60.   
  61. #画三维图  
  62. import  numpy  as  np  
  63. from    mpl_toolkits.mplot3d  import Axes3D  
  64. from pylab import  *  
  65. fig=figure()  
  66. ax=Axes3D(fig)  
  67. x=np.arange(-4,4,0.1)  
  68. y=np.arange(-4,4,0.1)  
  69. x,y=np.meshgrid(x,y)  
  70. R=np.sqrt(x**2+y**2)  
  71. z=np.sin(R)  
  72. ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap='hot')  
  73. show()  
  74.   
  75.   
  76. #用于图像显示的问题  
  77.   
  78. import  matplotlib.pyplot   as plt  
  79. import pandas  as pd  
  80. weights_dataframe=pd.DataFrame()  
  81. plt.figure()  
  82. plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x1,label='weights_x1')  
  83. plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x0,label='weights_x0')  
  84. plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x2,label='weights_x2')  
  85. plt.legend(loc='upper right')   #用于标签显示问题      
  86. plt.xlabel(u"迭代次数", fontproperties='SimHei')  
  87. plt.ylabel(u"参数变化", fontproperties='SimHei')  
  88. plt.title(u"迭代次数显示", fontproperties='SimHei')   #fontproperties='SimHei'  用于可以显示中文  
  89. plt.show()  
[python] view plain copy
  1. <pre name="code" class="python">import matplotlib.pyplot as plt  
  2. from numpy.random import random  
  3.   
  4. colors = ['b''c''y''m''r']  
  5.   
  6. lo = plt.scatter(random(10), random(10), marker='x', color=colors[0])  
  7. ll = plt.scatter(random(10), random(10), marker='o', color=colors[0])  
  8. l  = plt.scatter(random(10), random(10), marker='o', color=colors[1])  
  9. a  = plt.scatter(random(10), random(10), marker='o', color=colors[2])  
  10. h  = plt.scatter(random(10), random(10), marker='o', color=colors[3])  
  11. hh = plt.scatter(random(10), random(10), marker='o', color=colors[4])  
  12. ho = plt.scatter(random(10), random(10), marker='x', color=colors[4])  
  13.   
  14. plt.legend((lo, ll, l, a, h, hh, ho),  
  15.            ('Low Outlier''LoLo''Lo''Average''Hi''HiHi''High Outlier'),  
  16.            scatterpoints=1,  
  17.            loc='lower left',  
  18.            ncol=3,  
  19.            fontsize=8)  
  20.   
  21. plt.show()  


[python] view plain copy
  1. <span style="font-family: Arial, Helvetica, sans-serif;">#pandas中画图  </span>  
[python] view plain copy
  1.   #画累和图  
  2. import pandas  as pd  
  3. import  numpy as np  
  4. import matplotlib.pyplot  as plt  
  5. ts=pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000))  
  6. ts=ts.cumsum()  
  7. ts.plot()  
  8. plt.show()  
  9.   
  10.   
  11.   
  12. df=pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list('ABCD'))  
  13. df=df.cumsum()  
  14. df.plot()  
  15. plt.show()  
  16.   
  17.   
  18.   
  19.   
  20. #画柱状图  
  21. df2 = pd.DataFrame(np.random.rand(104), columns=['a''b''c''d'])  
  22. df2.plot(kind='bar')  #分开并列线束  
  23. df2.plot(kind='bar', stacked=True#四个在同一个里面显示 百分比的形式  
  24. df2.plot(kind='barh', stacked=True)#纵向显示  
  25. plt.show()  
  26.   
  27.   
  28. df4=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':np.random.randn(1000)-1},columns=list('abc'))  
  29. df4.plot(kind='hist', alpha=0.5)  
  30. df4.plot(kind='hist', stacked=True, bins=20)  
  31. df4['a'].plot(kind='hist', orientation='horizontal',cumulative=True#cumulative是按顺序排序,加上这个  
  32. plt.show()  
  33.   
  34.   
  35. #Area Plot  
  36. df = pd.DataFrame(np.random.rand(104), columns=['a''b''c''d'])  
  37. df.plot(kind='area')  
  38. df.plot(kind='area',stacked=False)  
  39. plt.show()  
  40.   
  41.   
  42. #散点图  
  43. df = pd.DataFrame(np.random.rand(504), columns=['a''b''c''d'])  
  44. df.plot(kind='scatter', x='a', y='b')  
  45. df.plot(kind='scatter', x='a', y='b',color='DarkBlue', label='Group 1')  
  46.   
  47. #饼图  
  48. df = pd.DataFrame(3 * np.random.rand(42), index=['a''b''c''d'], columns=['x''y'])  
  49. df.plot(kind='pie', subplots=True, figsize=(84))  
  50. df.plot(kind='pie', subplots=True,autopct='%.2f',figsize=(84)) #显示百分比  
  51. plt.show()  
  52.   
  53.   
  54.   
  55. #画矩阵散点图  
  56. df = pd.DataFrame(np.random.randn(10004), columns=['a''b''c''d'])  
  57. pd.scatter_matrix(df, alpha=0.2, figsize=(66), diagonal='kde')  
  58. plt.show()