0.
用plt绘图其实不是上选,可以直接用pd绘图
1.
2.
这里边有一个例子,说的是
party_counts=pd.crosstab(tips['day'],tips['size'])
本身一个竖着的表格,好多列,其中两列,day是周一到周五等等 size是几个人来吃饭
然后就变成 提出这两个内容,把后边的size作为表头 然后左边的索引变成了day 周12345
然后内容是计数,记录对应size的周几 分别出现了多少次
然后还有
party_pcts=party_counts.div(party_counts.sum(1),axis=0)
这个叫规格化 就是让他们的总和等于1
tips['tip_pct']=tips['tip']/(tips['total_bill'] - tips['tip'])
这个新加的内容就会出现在df的最右边
另 这个tips 跟小费的tip没有关系!!!tips是这个df最开始的名字
sns.barplot(x='tip_pct',y='day',data=tips,orient=‘h’)
弹出来的图是横坐标是不到1的,纵坐标是周几
然后里边内容是横向的柱状图
每个柱会带一个黑线 黑线代表95%置信区间 那个黑线叫误差条
如果是sns.barplot(x='tip_pct',y='day',hue='time',data=tips,orient=‘h’)
多一个hue参数 下边的会把time上的内容分类进行柱状图描述
tips['tip_pct'].plot.hist(bins=50)
这是对tips里的tip_pct占total_bill百分比的柱状图
tips['tip_pct'].plot.density()
这是输出一张密度图
3.
散布图或者点图 是观察两个一维数据序列之间关系的图
trans_data = np.log(data).diff().dropna()
首先 这个表是从一个文件里带出来的 然后这个文件里部分行被取值了:data = macro[['cpi', 'm1', 'tbilrate','unemp']]
这就是data是啥 macro是打开那个文件时候的对象
然后diff() 全部的是 np.diff(目标数组,n可选,要执行几次计算,axis=-1是默认)
说白了diff()就是把规定的那个轴,让他后边的值减去前边的值
然后使用sns的regplot方法就可以做一个散布图,这个图上会有一个线性回归的线
sns.regplot('m1', 'unemp', data=trans_data)
plt.title('Changes in log %s versus log %s' % ('m1', 'unemp'))
分别是横轴 竖轴 内容
之后是散布图矩阵,就是一大组散布图
sns.pairplot(trans_data, diag_kind='kde', plot_kws={'alpha': 0.2})
这个有四个参数['cpi', 'm1', 'tbilrate','unemp']
所以是4*4 16个图 然后左上开始的斜对角 自己对自己的 就是线了 因为一维的数据
然后 会变成曲线的样子 是因为横纵坐标不一致
sns.factorplot(x='day', y='tip_pct', hue='time', col='smoker', kind='bar', data=tips[tips.tip_pct < 1])
这个是多界面的函数
然后多了一个col参数 这是用来区分界面和界面之间区别的东西
这个就是column的简写 是横着表示的 左边一个列右边一个列
sns.factorplot(x='day', y='tip_pct', row='time', col='smoker', kind='bar', data=tips[tips.tip_pct < 1])
这个多了一个row参数 就是竖着了
这俩都在 假如row有3个情况 col两个
就是一个三行两列六个图拼成的大图
sns.factorplot(x='tip_pct', y='day', kind='box',data=tips[tips.tip_pct < 0.5]) # 输出图形9-28
前边的kind是bar 这个是box 叫盒图