楼主: 则卷
3637 13

[问答] R语言画图 [推广有奖]

  • 2关注
  • 0粉丝

大专生

15%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
287 点
帖子
24
精华
0
在线时间
46 小时
注册时间
2005-8-22
最后登录
2017-11-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R语言怎么画隐函数图形,比如画个圆
(x-5)^2+(y-2)^2=16

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 求助

沙发
enxizheng 发表于 2015-6-28 18:15:40 |只看作者 |坛友微信交流群
画圆可以用参数方程

使用道具

藤椅
则卷 发表于 2015-6-28 21:48:10 |只看作者 |坛友微信交流群
enxizheng 发表于 2015-6-28 18:15
画圆可以用参数方程
请问,能不能说详细点,我不是太懂。还有别的隐函数怎么画

使用道具

板凳
enxizheng 发表于 2015-6-28 22:53:13 |只看作者 |坛友微信交流群
则卷 发表于 2015-6-28 21:48
请问,能不能说详细点,我不是太懂。还有别的隐函数怎么画
t<-seq(0,2*pi,by=0.01)
x<-4*sin(t)+5
y<-4*cos(t)+2
plot(x,y,type='l')

使用道具

报纸
enxizheng 发表于 2015-6-28 23:03:53 |只看作者 |坛友微信交流群
原则上讲 (x-5)^2+(y-2)^2=16 不能看成隐函数, 如看成隐函数, 须首先指定x,y的取值范围, 否则无法确定函数. 比如本例, 当x=5时, y可能等于6也可能等于-2, 这样因变量不是唯一的, 也就不是函数了.(函数的定义要求一个自变量只能对应一个因变量, 而本例如不指定取值范围, 则一个自变量可能对应两个因变量, 不符合函数的定义)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
则卷 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

地板
enxizheng 发表于 2015-6-28 23:13:24 |只看作者 |坛友微信交流群
以下代码为按隐函数绘图, 不过只画了上半圆(因为上半圆才对应一个隐函数, 下半圆对应另外一个隐函数)
xtmp<-seq(1,9,by=0.1)
f<- function(x,y) (x-5)^2+(y-2)^2-16 #隐函数
n<-length(xtmp)
ytmp<-numeric(n)
for (i in 1:n)
{
   ftmp<-function(y) f(xtmp[i],y)
   tmp<-uniroot(ftmp,c(2,6))      # x取定时,解方程算出y, y的取值范围为(2,6), 即上半圆
   ytmp[i]<-tmp$root
}
plot(xtmp,ytmp,type='l')
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
则卷 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

7
则卷 发表于 2015-6-29 08:18:11 |只看作者 |坛友微信交流群
enxizheng 发表于 2015-6-28 23:13
以下代码为按隐函数绘图, 不过只画了上半圆(因为上半圆才对应一个隐函数, 下半圆对应另外一个隐函数)
xtmp
谢谢您,我是刚开始学习R语言的,所以很多东西不清楚,多谢你的帮助

使用道具

8
则卷 发表于 2015-6-29 08:28:36 |只看作者 |坛友微信交流群
enxizheng 发表于 2015-6-28 23:13
以下代码为按隐函数绘图, 不过只画了上半圆(因为上半圆才对应一个隐函数, 下半圆对应另外一个隐函数)
xtmp
你这个方法我看明白了,是先数值求解在画图,如果函数是这样复杂的形式怎么办
e^(sin(x)+cos(y))=sin(e^(x+y))

使用道具

9
则卷 发表于 2015-6-29 08:40:35 |只看作者 |坛友微信交流群
则卷 发表于 2015-6-29 08:28
你这个方法我看明白了,是先数值求解在画图,如果函数是这样复杂的形式怎么办
e^(sin(x)+cos(y))=sin(e^ ...
搞错了。都可以数值求解,然后画图。

使用道具

10
则卷 发表于 2015-6-29 08:49:08 |只看作者 |坛友微信交流群
则卷 发表于 2015-6-29 08:40
搞错了。都可以数值求解,然后画图。
我这里自己编写了个循环可是不能运行,你能不能帮我看看改改。
setwd("C:\\Users\\Administrator\\Desktop")##读取3个工作表
library(xlsx)
x1<-read.xlsx("投入产出数据R.xlsx",1,encoding="UTF-8")
x2<-read.xlsx("投入产出数据R.xlsx",2,encoding="UTF-8")
x3<-read.xlsx("投入产出数据R.xlsx",3,encoding="UTF-8")
##这里想用for循环统一处理,但是没有指定数据框,所以names()
不能运行,请问应该怎么处理
for (i in 1:3){
x=as.data.frame(x)
a=c("dq",paste("y",1:31,sep=""))
names(x)=a
x=transform(x,sum=y1+y2+y3)
}
##这里如何将3个数据框统一保存到一个xlsx文件的多个工作表
library("XLConnect")
xls=loadWorkbook("test.xlsx",create=TRUE)##创建了一个test.xlsx文件
createSheet(xls,name=paste("she",1:3,sep=""))###创建了一个工作表
for (i in 1:3){
writeWorksheet(xls,x,sheet="she")}##这个循环有错,但是不知道怎么改
saveWorkbook(xls)

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 18:53