首页 > 其他分享 >2- R语言基本图形绘制之直方图——基于ggplot2

2- R语言基本图形绘制之直方图——基于ggplot2

时间:2024-11-14 21:44:59浏览次数:3  
标签:20 .. density histogram 直方图 ggplot2 geom 绘制

    直方图通过在x轴上将值域分割为一定数量的数据桶,在y轴上显示相应值的频数,展示了连续型变量的分布。

    ggplot(data,aes(x=contvar))+geom_histogram()

    #data是一个数据框;contvar是一个连续型变量。

    下面我们使用ggplot包中的mpg数据框,分析2008年117个汽车配置的每加仑汽油行驶英里数的分布情况。

1 简单直方图

library(ggplot2)
library(scales)

data(mpg)
cars2008<-mpg[mpg$year == 2008,]

ggplot(cars2008,aes(x=cty))+
geom_histogram()+
labs(title="Default histogram")

 2 带有20个数据桶的彩色直方图

ggplot(cars2008,aes(x=hwy))+
geom_histogram(bins=20,color="white",fill="steelblue")+
labs(title="Colored histogram with 20 bins",x="City Miles Per Gallon",y="Frequency")

#创建了20个数据桶(bins=20),指定填充色为钢蓝色,边框为白色,此外还添加了信息量更为丰富的标签

#数据桶的数量在很大程度上影响直方图的外观。

3 带有百分比的直方图

ggplot(cars2008,aes(x=hwy,y=..density..))+
geom_histogram(bins=20,color="white",fill="steelblue")+
scale_y_continuous(labels=scales::percent)+
labs(title="Histogram with percentages",y="Percent",x="City Miles Per Gallon")

 

#将数据绘制为百分比而不是频数,这可以通过将内置变量..density..指定给y轴来实现

#使用scales包将y轴格式设为百分比

4 带有核密度曲线的直方图

ggplot(cars2008,aes(x=cty,y=..density..))+
geom_histogram(bins=20,color="white",fill="steelblue")+
scale_y_continuous(labels=scales::percent)+
geom_density(color="red",size=1)+
labs(title="Histogram with density curve",y="Percent",x="Highway Miles Per Gallon")

 

 #核密度曲线更平滑地描述了得分的分布,使用geom_density()函数将核密度曲线绘制成红色,并设置曲线宽度

#核密度曲线显示的是双峰分布(两个峰值)

标签:20,..,density,histogram,直方图,ggplot2,geom,绘制
From: https://blog.csdn.net/2302_80828325/article/details/143780452

相关文章

  • View绘制流程;
    ......
  • Origin图表技巧之绘制带辅助面的3D折线图
    折线图是科研中经常用到的图表之一,它通过线的升降变化显示数据的变化趋势,今天给大家分享绘制三维折线图的操作方法:操作步骤:1、先打开Origin2024软件,然后在Book1中输入如下示例数据:2、鼠标右击将C(Y)和E(Y)列设置为Z:3、将数据调整为XYZ型数据,如下:4、先选中所有数据:5......
  • 在线性坐标系中绘制对数函数图象
    本文记述了用Matplotlib在线性坐标系中绘制对数函数图象的例子。代码主体内容如下:...defmain():fig,ax=plt.subplots(figsize=(8,8))#1ax=configure_axes(ax,'LogarithmicFunction',8,3,1,0.25,1,0.25)#2x=np.linspace(......
  • [js] 突发奇想, 使用canvas绘制一个动态的扫描仪
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title&g......
  • Python绘制循环渐变圆
    通过改变颜色,圆的半径,及旋转角度来形成圆图形importturtleimportcolorsysascs#导入颜色转换模块#设置显示屏幕screen=turtle.Screen()screen.title("渐变色的圆")screen.bgcolor('#AFEEEE')#设置画笔p=turtle.Turtle()p.pensize(1)p.speed(0)#设置......
  • 如何在Typora中绘制流程图
    如何在Typora中绘制流程图在撰写文档时,清晰的流程图能极大地提升信息传递的效率。Typora是一款优秀的Markdown编辑器,支持通过Mermaid语法快速绘制流程图。本文将介绍如何在Typora中创建和自定义流程图,帮助你用更直观的方式呈现逻辑结构和流程。目录Typora环境配置Mermai......
  • win32窗口绘制
    目录win32窗口绘制win32在WM_PAINT消息类型中绘制窗口窗口绘图基本流程开始绘画基本图形绘制1、画点设置指定点的颜色2、画线(直线、弧线)3、绘制封闭图形(能使用画刷填充的图形)GDI绘图对象位图绘制文本绘制TextOut:将文字绘制在指定坐标位置,只能绘制单行字符串,不能换行DrawText:在......
  • 在线性坐标系中绘制指数函数图象
    本文记述了用Matplotlib在线性坐标系中绘制指数函数图象的例子。代码主体内容如下:...defmain():fig,ax=plt.subplots(figsize=(8,8))#1ax=configure_axes(ax,'ExponentialFunction',3,8,1,0.25,1,0.25)#2x=np.linspace(......
  • halcon中将xld轮廓或者region区域绘制在图像上并保存
    1)单通道图像的绘制draw_circle(WindowHandle,Row,Column,Radius)gen_circle(Circle,Row,Column,Radius)paint_region(Circle,Image,ImageR,0,'fill')paint_region(Circle,Image,ImageG,255,'fill')paint_region(Circle,Image,ImageB,......
  • 有DEM,如何在Global Mapper中绘制等高线,并导出至CAD
    通常,用无人机航测或其它途径得到的DEM、DSM来绘制等高线,一般流程是将DEM导出至南方CASS或其它格式的高程点文件,再用这些高程点来建立DTM、结三角网、编辑三角网,来进行等高线的绘制,做过等高线生产的测绘兄弟们都清楚,这个过程还是十分繁琐的。实际上,用GlobalMapper可以直接从DEM中......