ggplot2实现色阶散点图+曲线拟合图

色阶散点图+曲线拟合图
在这里插入图片描述

这是我在气象论坛对一个帖子的回复,标记下。指数拟合的效果有边界不太理想,可能是该处数据权重过小。

library(ggplot2)
library(scales)# humidity以百分比的形式出现

 T=sort(runif(300,min=24,max=38))
 O3=8*10^(-11)*T^7.99
 O3=jitter(O3,amount=25)
 O3=O3-min(O3)+10# 保证O3没有负值
 Humidity=sort(runif(300,0,1),decreasing = TRUE)
 df=data.frame(T=T,O3=O3,Humidity=Humidity)


#你有自己的数据集,重新拟合成理想的形式,如指数模型
## 拟合过程也可以利用熟悉的Excel或者MATLAB替代


fit_zhishu <- nls(log(O3) ~ a*log(T)+b,  start = list(a = 8, b = 0))#
fit_O3=predict(fit_zhishu, T)
df$fit_O3=exp(fit_O3) #ln反转


# 以上为我构造的数据集,你可自行替换;第一列$T$,第二列$O_3$,第三列湿度,最后一列为拟合的$O_3$
p<-ggplot(df, aes(T, O3,colour = Humidity)) +geom_point(size=3,alpha=0.8,position=position_jitter(width=0, height=5))+geom_line(aes(T,fit_O3),color="blue",size=1.2,alpha=0.9)+scale_colour_gradientn(colours = rainbow(10),labels = percent)+xlab(bquote('T/'^o*C))+ylab(bquote(O[3]/ 'mg·'*m^-3))+theme_bw()

凡有所学,结成性格。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值