前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

ggplot2

作者头像
润森
发布2019-11-05 17:09:18
6800
发布2019-11-05 17:09:18
举报
文章被收录于专栏:毛利学Python

学习一时爽,一直学习一直爽

  Hello,大家好,我是 もうり,一个从无到有的技术+语言小白。

回忆复习

原文:https://blog.csdn.net/weixin_44510615/article/details/89579225

参考:https://blog.csdn.net/tanzuozhev/article/details/50822204

ggplot2 同时也是一个 R 包

ggplot2 的简介

pip 安装

ggplot2 是数据可视化的重要程序包,用于绘制各种高级统计图形。

ggplot2 命令的基本组成 具体来讲,在 ggplot2 程序包中,每一副图都是由若干组件组成的,这些组件包括:

  • data: 数据,必须为 data.frame。
  • coordinate system: 数据可视化,主要是在二维平面上表示数据的关系,所用坐标系一般为平面直角坐标,有时会用到极坐标、地图投影等。ggplot2 软件默认使用平面直角坐标。
  • geoms: 包括 geoms_开头的各种对象,用来绘制各种基本组件,包括点、线、面、多边形、柱状图、箱线图等。
  • aesthetics: 图形的美学特征,如颜色、形状、透明度、大小、分组等。
  • scales: 坐标轴的属性
  • stats: 统计变换。用于设定数据要进行的统计转换,例如平均值、中位数、记录数等。
  • facets: 描述如何将图形按照某一个或者几个因子(factors)不同水平(levels)用多个图形分开展示。

完整的 ggplot2 绘图命令, 总是以 ggplot() 开始。

ggplot() 及其参数奠定整个 ggplot2 图形的基础,最重要的两个参数为 data 和 mapping。

其中 data 必须为 data.frame 格式。mapping 参数要求数据通过 aes 函数进一步转换。

aes 是 aesthetic 的缩写。

在 aes 函数中,要输入的参数有 x, y, group, color, size 等。

aes 可以直接访问 data 参数所输入数据框的各列,从而直接控制图形的横坐标、纵坐标、分组以及各组的颜色、大小、透明度等等。

柱形图

代码语言:javascript
复制
from ggplot import *
p=ggplot(mpg,aes(x='hwy'))+geom_histogram()
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='hwy',fill='factor(year)'))+geom_histogram(alpha=0.3,colour='black')
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='factor(cyl)'), data=mtcars) + geom_bar()
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='factor(cyl)'), data=mtcars)+geom_bar(fill='blue',alpha=0.2,width=0.4)
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='factor(cyl)'), data=mtcars)+geom_histogram(fill='blue',alpha=0.2)
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='factor(cyl)', fill='factor(gear)'), data=mtcars) + \
    geom_histogram()
print(p)
代码语言:javascript
复制
import pandas as pd
import numpy as np

df = pd.DataFrame({
    "x": np.random.normal(0, 10, 1000),
    "y": np.random.normal(0, 10, 1000),
    "z": np.random.normal(0, 10, 1000)
})
df = pd.melt(df)
p=ggplot(aes(x='value', fill='variable', color='variable'), data=df) + \
    geom_histogram(alpha=0.6)
print(p)
代码语言:javascript
复制
import pandas as pd
import numpy as np
from ggplot import *
df = pd.DataFrame({
    "x": np.random.normal(0, 10, 1000),
    "y": np.random.normal(0, 10, 1000),
    "z": np.random.normal(0, 10, 1000)
})
df = pd.melt(df)

p=ggplot(aes(x='value', fill='variable'), data=df) + \
    geom_histogram()+facet_grid('variable',)
print(p)

折线图

代码语言:javascript
复制
import pandas as pd
import numpy as np

df = pd.DataFrame({
    "x": np.random.normal(0, 10, 1000),
    "y": np.random.normal(0, 10, 1000),
    "z": np.random.normal(0, 10, 1000)
})
df = pd.melt(df)

p=ggplot(aes(x='value', color='variable'), data=df) + \
    geom_density()
print(p)
q=ggplot(aes(x='value', color='variable', fill='variable'), data=df) + \
    geom_density(alpha=0.6)
print(q)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='displ',y='hwy'))+geom_line(color='grey',size=2) 
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='factor(displ)',y='hwy'))+geom_bar(stat='identity',width=0.8,fill='grey')
##stat='identity'是指不进行统计变换即hwy就是纵
#坐标值因为displ出现众多的重复值,所以分组更多,纵坐标值不断累加
#width为组距,fill为填充色
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='displ'))+geom_bar(stat='density')
#一维密度,统计数量
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='displ'))+geom_density()
#一维密度,统计数量
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='displ',fill='fl'))+geom_histogram(binwidth=0.4,position='dodge')
#位置调整有问题
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='displ'))+geom_histogram(fill='grey',binwidth=0.18,alpha=0.3)+geom_density(color='red',size=0.8)
print(p)
代码语言:javascript
复制
p=ggplot(mpg,aes(x='displ',color='factor(fl)'))+geom_density(size=0.5)+ylim(0,1)
print(p)
代码语言:javascript
复制
small=diamonds.sample(n=1000)
p=ggplot(aes(x='cut'),data=small)+geom_bar()+coord_flip()
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='cyl'), data=mtcars)+geom_histogram(fill='blue',alpha=0.2)
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='cyl'), data=mtcars)+geom_bar(fill='blue',alpha=0.2)
print(p)
代码语言:javascript
复制
p=ggplot(aes(x='pageviews'), data=pageviews) + \
    geom_histogram()
print(p)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小刘IT教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ggplot2 的简介
    • pip 安装
    • 柱形图
    • 折线图
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档