查看原文
其他

干货帖|python绘图及可视化

cc 我爱脑科学网 2019-07-01

一、matplotlib API入门

  1. Anaconda Spyder下 Ipython console 画图 
    –载入:import matplotlib.pyplot as plt 
    –在终端窗口输出图片: %matplotlib inline 
    –在图片窗口表现图片: %matplotlib qt

  2. figure和subplot 
    –创建figure对象 fig = plt.figure(),内含一些选项可以做调整 
    –创建subplot对象 ax1 = fig.add_subplot(2, 2, 1) 表示2*2个subplot中的第一个 
    –同时创建figure和subplot,fig, axes = plt.subplots(2, 3) 2*3,对axes索引就是不同的subplot 
    —-sharex=True 所有subplot应该使用相同的x轴刻度 
    —-sharey=True 所有subplot应该使用相同的y轴刻度 
    –调整subplot周围的间距 subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None) 
    –如果不创建新的,就会在最后一个使用的subplot上绘制

  3. 颜色、标记和线型 
    –颜色+线型 ax.plot(x, y, 'g--') ax.plot(x, y, linestyle='--', color='g') 
    –颜色+线型+标记 plt.plot(randn(30).cumsum(), 'ko--') plot(randn(30).cumsum(), color='k', linestyle='dashed', marker='o') 
    –默认数据点之间的插值是线性,修改: drawstyle='steps-post'

  4. 刻度、标签和图例 
    –返回图表范围 plt.xlim()(对当前或是最近创建的subplot)ax.get_xlim 
    –修改图表范围 plt.xlim([0,10]) (对当前或是最近创建的subplot)ax.set_xlim 
    –修改x轴刻度 ax.set_xticks([0, 250, 500, 750, 1000]) 
    –修改刻度标签 ax.set_xticklabels(['one', 'two', 'three', 'four', 'five'],rotation=30, fontsize='small') 
    –设置x轴名称 ax.set_xlabel('Stages') 
    –设置标题 ax.set_title('My first matplotlib plot') 
    –设置图例 ax.legend(loc='best') 其中图例的对应的名字是label传入的

  5. 注解以及在subplot上绘图 
    –添加注解:ax.text(x, y, 'Hello world!', family='monospace', fontsize=10) 
    –添加图形:ax.add_patch(shp) ,其中shp是之前设定好的的图形元素

  6. 将图表保存到文件 
    plt.savefig('figpath.svg') 
    plt.savefig('figpath.png', dpi=400, bbox_inches='tight'),dpi定义分辨率,bbox_inches定义表周围的空白部分

7.对matplotlib配置,p244

二、pandas中的绘图函数

  1. 线型图 
    –默认情况下,plot生成的就是线型图 s.plot() 
    –默认将索引作为x轴,禁止:use_index=False

  2. 柱状图 
    –可以在上面的基础上加上,kind='bar',kind='barh' 
    –垂直data.plot(kind='bar',ax=axes[0], color='k', alpha=0.7) 
    –水平data.plot(kind='barh,ax=axes[1], color='k', alpha=0.7) 
    –堆积柱状图 stacked=True 
    –列的名称会被用作图例的标题

  3. 直方图和密度图 
    –直方图:tips['tip_pct'].plot.hist(bins=50) 
    –密度图:tips['tip_pct'].plot(kind='kde')

  4. 散点图 
    plt.scatter(trans_data['m1'],trans_data['unemp']) 
    plt.scatter_matrix(trans_data,diagonal='kde',color='k',alpha=0.3)





本文整理:cc


本文来源于整理资料

内容仅供学习参考,若有疑问及侵权,请后台留言!

52brain,Connect Young Brains.

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存