干货帖|python绘图及可视化
一、matplotlib API入门
Anaconda Spyder下 Ipython console 画图
–载入:import matplotlib.pyplot as plt
–在终端窗口输出图片:%matplotlib inline
–在图片窗口表现图片:%matplotlib qt
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上绘制颜色、标记和线型
–颜色+线型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'
刻度、标签和图例
–返回图表范围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传入的注解以及在subplot上绘图
–添加注解:ax.text(x, y, 'Hello world!', family='monospace', fontsize=10)
–添加图形:ax.add_patch(shp)
,其中shp是之前设定好的的图形元素将图表保存到文件
–plt.savefig('figpath.svg')
–plt.savefig('figpath.png', dpi=400, bbox_inches='tight')
,dpi定义分辨率,bbox_inches定义表周围的空白部分
7.对matplotlib配置,p244
二、pandas中的绘图函数
线型图
–默认情况下,plot生成的就是线型图s.plot()
–默认将索引作为x轴,禁止:use_index=False
柱状图
–可以在上面的基础上加上,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
–列的名称会被用作图例的标题直方图和密度图
–直方图:tips['tip_pct'].plot.hist(bins=50)
–密度图:tips['tip_pct'].plot(kind='kde')
散点图
–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.