草庐IT

R 绘图 - 散点图

runoob 2023-04-07 原文

R 绘图 - 散点图

散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标。

散点图可以使用 plot() 函数来绘制,语法格式如下:

plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes)
  • x 横坐标 x 轴的数据集合

  • y 纵坐标 y 轴的数据集合

  • type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点。
  • main 图表标题。

  • xlab、ylab x 轴和 y 轴的标签名称。

  • xlim、ylim x 轴和 y 轴的范围。

  • axes 布尔值,是否绘制两个 x 轴。

type 参数可选择值:

  • p:点图
  • l:线图
  • b:同时绘制点和线
  • c:仅绘制参数 b 所示的线
  • o:同时绘制点和线,且线穿过点
  • h:绘制出点到横坐标轴的垂直线
  • s:阶梯图,先横后纵
  • S:阶梯图,先纵后竖
  • n: 空图

创建一个简单的线图:

实例

x<-c(10,40)
y<-c(20,60)
# 生成 png 图片
png(file = "runnob-test-plot2.png")

plot(x, y, "l")

创建一个简单的线图,type 使用 o 参数,同时绘制点和线,且线穿过点:

实例

x<-c(10,40)
y<-c(20,60)
# 生成 png 图片
png(file = "runnob-test-plot.png")

plot(x, y, "o")

接下来我们使用 R 语言的内置数据集 mtcars 来进行测试。

我们使用 mtcars 数据集的 wt 和 mpg 列:

实例

input <- mtcars[,c('wt','mpg')]
print(head(input))

输出结果为:

wt  mpg
Mazda RX4         2.620 21.0
Mazda RX4 Wag     2.875 21.0
Datsun 710        2.320 22.8
Hornet 4 Drive    3.215 21.4
Hornet Sportabout 3.440 18.7
Valiant           3.460 18.1

接着我们使用以上数据生存一个散点图

实例

# 数据
input <- mtcars[,c('wt','mpg')]

# 生成 png 图片
png(file = "scatterplot.png")

# 设置坐标 x 轴范围 2.5 到 5, y 轴范围 15 到 30.
plot(x = input$wt,y = input$mpg,
   xlab = "Weight",
   ylab = "Milage",
   xlim = c(2.5,5),
   ylim = c(15,30),              
   main = "Weight vs Milage"
)

散点图矩阵

散点图矩阵是借助两变量散点图的作图方法,它可以看作是一个大的图形方阵,其每一个非主对角元素的位置上是对应行的变量与对应列的变量的散点图。而主对角元素位置上是各变量名,这样,借助散点图矩阵可以清晰地看到所研究多个变量两两之间的相关关系。

散点图矩阵就是把数据集中的每个数值变量两两绘制散点图。

R 语言使用以下函数创建散点图矩阵:

pairs(formula, data)

参数:

  • formula 变量系列

  • data 变量的数据集

实例

# 输出图片
png(file = "scatterplot_matrices.png")

# 4 个变量绘制矩阵,12 个图

pairs(~wt+mpg+disp+cyl,data = mtcars, main = "Scatterplot Matrix")

有关R 绘图 - 散点图的更多相关文章

  1. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  2. ruby - Ruby 有哪些绘图包/API? - 2

    类似:Whatgraphingpackages/APIsexistforPerl?我正在对不同语言的在线图形包进行一些研究,想知道当前有哪些适用于Ruby的最新图形包值得研究。所需的最低功能应包括Google通过itsAPI提供的功能.如能简要介绍所推荐的包/API的主要优势,我们将不胜感激。 最佳答案 我已将以下内容添加为书签,以便在时间允许时进行调查:基于Flash我还没有尝试过这些,但如果你想要活泼的动画,它们看起来都很有前途:amChartsFusionChartsOpenFlashChartZiyagemGoogleCha

  3. 基于C++实现一个支持简单交互绘图小程序 - 2

    资源下载地址:https://download.csdn.net/download/sheziqiong/86763967资源下载地址:https://download.csdn.net/download/sheziqiong/86763967基于C++实现一个支持简单交互绘图小程序一、概要设计1.1开发环境IDE:VisualStudio2019Commity运行环境:window10专业版配置要求:内存4g显卡无要求CPU无要求目的调试编译通过图形应用编码、熟悉flk1.2结构化模块设计图UML类图1.3主要模块功能接口描述Graph.cppvoidShape::add(Pointp)//

  4. 基于ChatGPT的智能问答、ai绘图微信小程序思路 - 2

    ChatGPT![在这里插入图片描述](https://img-blog.csdnimg.cn/186d9ecc453b48be9f19c467da7c3f07.jpegChatGPT是openai公司的一个人工智能机器人产品,目前已经升级到4.0版本。其因便捷高效,已经在大学生、IT届、科研界等领域广为流传。但是直接进入其官网使用有时候并不是那么方便,毕竟他不开放给中国用户使用,我们需要一些魔法才能用上。如果做成一个微信小程序随时随地打开就能用的话,会方便很多。正好openai官方也开放了api供开发者使用。我们可以进入openai官网https://platform.openai.com/

  5. javascript - 绘图工具 - Angular2 - 2

    我对Web应用程序比较陌生,因此才刚刚开始使用Angular2(还没有使用过angularJS)和Typescript。我正在尝试使用Zingchart绘制图表。我经历了5分钟的快速入门以及angular2页面中的教程,并对它的工作原理有了一个不错的了解。我按照Zingchart页面上的说明使用这两个工具(https://blog.zingchart.com/2016/03/16/angular-2-example-zingchart/)在网页上创建了一个图表。但是,我似乎遇到了问题。1)我无法从@angular/core导入AfterView。尽管页面上说我必须使用angular2/

  6. javascript - 带有图例和其他颜色的 Google Charts API 散点图 - 2

    我有一个例子://LoadtheVisualizationAPIandthepiechartpackage.google.load('visualization','1.0',{'packages':['corechart']});//SetacallbacktorunwhentheGoogleVisualizationAPIisloaded.google.setOnLoadCallback(drawChart1);//Callbackthatcreatesandpopulatesadatatable,//instantiatesthepiechart,passesinthedataa

  7. javascript - Google Maps APIv3 绘图管理器的 onChange 事件 - 2

    我正在使用GMapsAPIv3DrawingManager让用户在map上绘制形状。我可以使用complete事件在将形状添加到map时触发操作(例如overlaycomplete或polygoncomplete)--但我也允许用户编辑完成的形状。有没有办法在形状改变时触发Action?当修改形状时,我看不到任何方式来触发另一个函数。 最佳答案 可在此处找到编辑事件列表:EditableeventsDraggingevents下面是一个例子,当圆的半径发生变化时如何将它与DrawingManager一起使用:google.maps.

  8. javascript - 以编程方式为 Highcharts 散点图上的某个点触发点击事件 - 2

    实际上,我的需求很小,其中有一个散点图,其中包含点列表和下拉列表。当我从下拉列表中选择一个项目时,应该触发其相应的数据点点击。当我在图表上选择一个数据点时,必须执行一些操作并且下拉列表应该根据选择进行更新。我们有什么办法可以做到这一点吗?我试过firePointClick,事件未定义,我希望事件与手动点击发生时我们得到的事件相同,还有其他方法吗?或任何改进 最佳答案 它不是API的一部分,但可以使用名为firePointEvent的内部API函数来完成:chart.series[0].data[0].firePointEvent('

  9. javascript - 开源客户端基于 JavaScript 的 2D 数据绘图? - 2

    我想知道是否有任何使用JavaScript在客户端运行的二维图形绘制库?基本思想是您可以在浏览器中放置一个绘图,用户可以更改X和Y比例和限制、放大和缩小等内容,而无需不断地从服务器重新加载网页。数据本身将通过AJAX获取,如果用户想使用重型工具,这将允许用户直接从服务器wget获取数据。类似于Python的matplotlib的2D部分。这是我很久以前看过的东西,然后决定开发一些只在服务器端生成SVG的代码(使用内置的eCos网络服务器)会更快,但现在我'我一直在阅读Prototype和jQuery之类的东西,我想知道是否有人已经这样做了。 最佳答案

  10. javascript - 在谷歌地图 v3 的绘图管理器中更改 "drawingMode" - 2

    看这段代码:这是一个谷歌工具,可以在map上创建一个面板并帮助我们绘制形状。通过drawingMode:google.maps.drawing.OverlayType.CIRCLE我们可以指示在第一次加载时选择了哪个工具,但我想在程序中更改它。例如,我想通过单击按钮将CIRCLE更改为POLYGON。我怎样才能做这样的事情?drawingManager=newgoogle.maps.drawing.DrawingManager({drawingMode:google.maps.drawing.OverlayType.CIRCLE,drawingControl:true,drawingC

随机推荐