python-绘图与可视化( 二 )


python-绘图与可视化

文章插图
#我们还可通过命令再次拆分这些块(相当于Word中拆分单元格的操作)f1 = plt.figure(5)plt.subplot(221)plt.subplot(222)plt.subplot(212)plt.subplots_adjust(left = 0.08,right = 0.95,wspace = 0.25,hspace = 0.45)#subplots_adjust的操作是类似网页csv格式化中的边距处理,左边距离多少?#右边边距多少?这个取决于你需要绘制的大小和各个模块之间的间距 。plt.show()
python-绘图与可视化

文章插图
(3)通过Axes设置当前对象plot的属性以上我们操作的是在Figure上绘制图案,但是当我们绘制的图案过多,又需要选取不同的小模块进行格式化设置时,Axes对象就能很好的解决这个问题 。具体简析和代码如下:
import numpy as npimport matplotlib.pyplot as pltfig,axes = plt.subplots(nrows=2,ncols=2)  #定一个2*2的plotplt.show()
python-绘图与可视化

文章插图
#现在我们需要通过命令来操作每个plot(subplot),设置他们的title并删除横纵坐标值fig,axes =plt.subplots(nrows=2,ncols=2)axes[0,0].set(title="Upper Left")axes[0,1].set(title="Upper Right")axes[1,0].set(title="Lower Left")axes[1,1].set(title="Lower Right")
python-绘图与可视化

文章插图
另外,实际来说,plot操作的底层操作就是Axes对象的操作,只不过如果我们不使用Axes而用plot操作时,它默认的是plot.subplot(111),也就是说plot其实是Axes的特例
(4)保存Figure对象最后一项操作就是保存,我们绘制的目的是用在其他研究中,或者希望可以把研究结果保存下来,此时需要的操作是save 。具体简析和代码如下:
import numpy as npimport matplotlib.pyplot as pltplt.savefig("save_test.png",dpi=520)  #默认像素是dpi是80#此处只是用了savefig属性对Figure进行保存另外,除了上述的基本操作之外,Matplotlib还有其他的绘图优势,此处只是简单介绍了它在绘图时需要注意的事项 。
3.Seaborn 模块介绍前面我们简单介绍了Matplotlib库的绘图功能和属性设置,对于常规性的绘图,使用pandas的API属性研究较为透彻,几乎没有不能解决的问题 。但是有的时候Matplotlib还是有它的不足之处,Matplotlib 自动化程度非常高,但是,掌握如何设置系统以便获得一个吸引人的图是相当困难的事 。为了控制Matplotlib图表的外观,Seaborn 模块自带许多定制的主题和高级的接口 。
3.1 未加Seaborn 模块的效果具体简析和代码如下:
#有关于seaborn介绍import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltnp.random.seed(sum(map(ord,"aesthetics")))#首先定义一个函数用来画正弦函数,可帮助了解可以控制的不同风格参数def sinplot(flip=1):    x=np.linspace(0,14,100)    for i in range(1,7):        plt.plot(x,np.sin(x+i*.5)*(7-i)*flip)        sinplot()    plt.show()
python-绘图与可视化

文章插图
#有关于seaborn介绍import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltnp.random.seed(sum(map(ord,"aesthetics")))def sinplot(flip=1):    x = np.linspace(0,14,100)    for i in range(1,7):        plt.plot(x,np.sin(x + i * .5) * (7-i) * flip)        #转换成Seaborn 模块,只需要引入seaborn模块import seaborn as sns  #不同之处在此sinplot()plt.show()

经验总结扩展阅读