python:ggplot(2)- 图形画法

第一章:python:ggplot

第2节:python:ggplot图形画法

1,绘制散点图,geom_point()

读取外部数据进行绘图,例子:
>>> import pandas as pd
>>> from ggplot import *
>>> df=pd.read_table('C:\Users\lenovo\Desktop\mtcars.txt')
>>> df
··name type number volume size other
0 td T 96 3 20 c
1 sf F 87 5 65 c
2 cc F 79 9 80 d
#如果读取的数据没有column可以添加,例如:df.columns=['name','type','number','volume','size','other']
>>> p=ggplot(df, aes(x='number', y='volume', size='factor(size)', color='factor(other)'))+geom_point()
>>> print p
这里写图片描述

1)最简单的散点图

p=ggplot(df, aes(x='number', y='volume', size='size', color='other'))+geom_point()

2)color,size,shape的使用(对数据进行分组)

p=ggplot(aes(x='wt', y='mpg', color='cyl'), data=df)+geom_point()
如此产生的图形,其中的color颜色是一种渐变颜色,会根据“cyl”的值不同依照其值的大小,可产生颜色渐变的效果。
p=ggplot(aes(x='wt', y='mpg', color='factor(cyl)'), data=df)+geom_point()
如果color加入factor参数则产生离散型散点图效果,即图中三点颜色按照组别进行区分,不再是颜色渐变的效果

3)在数据层和几何图形层color的区别

在aes()当中color代表分类变量,使用“cyl”这个变量去当作颜色区分,而使数据进行分类,而color在geom_point()中则单纯的代表图形上色的意思。

4)透明度 alpha(作用:用于样本过多时区分具体数据)

ggplot(aes(x='carat', y='price', color='factor(color)'), data=diamonds)+geom_point()
这里写图片描述
往往在大样本量的情况下,颜色深的地方代表该位置的样本量多,而颜色浅的地方样本量少,但是如果过多的样本都集中在某个固定的狭小位置,后某些特定区域的话,由于点过多而无法区分较多的数量位点和过多的数量位点(例如100个位点和1000个位点)之间的差别。
所以要通过下面的三种方法,来解决某位点样本量过大而造成的无法区分问题(重点)
1> alpha(利用降低透明度的方法区分样本数量)在降低透明度能够更好的区分样本数量,原本样本量达到100的位点的颜色深度会小于样本量达到1000的位点的颜色深度。而样本量为10的位点则因为透明度很低则几乎在图中看不清晰了。
代码实例:
ggplot(aes(x='carat', y='price', color='factor(color)'), data=diamonds)+geom_point(alpha=0.1)
这里写图片描述
2> geom_jitter(加入扰动,表示随机的在密集位置的旁边进行扩散,则能够将图中重复出现的点显示出来)
表示如果某位点在图表当中重复出现多次,在原来图表中该点则只显示一次,而加入扰动之后,则会将该位置重复出现的点,随机向四周移动一小段距离,这样密集点的位置会相应的扩大,这个密集的点的面积会相应增加,重复出现的数值越多,则点越大。
代码实例:
ggplot(aes(x='carat', y='price', color='factor(color)'), data=diamonds)+geom_jitter(alpha=0.1)
这里写图片描述
3> dataframe.sample() (数据抽样方法,利用pandas的数据抽样方法,随机抽取一定数量的数据进行绘图)随机抽样可得到一定的样本数,而这些样本数具有总体样本数的一些特性,用部分具有代表性的样本来反应总体的样本情况。
df1=diamonds.sample(frac=0.03) #按照比例抽样,取总体数据的0.03(3%)
df2=diamonds.sample(n=2000) #按照函数抽样,取2000行数据,当然如果数据不是随机数据那20

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值