- 积分
- 3000
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-8-14
- 最后登录
- 1970-1-1
|
发表于 2021-3-30 11:50:55
|
显示全部楼层
本帖最后由 yebugu 于 2021-3-30 15:11 编辑
1.使用的是R语言的ggplot2包
2.物理意义没做解释但改成了正值。色阶你可以自行调整,即将湿度升、降序排列。
3.右边界拟合的不好,可能数据少的原因。
================================================
- 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()
复制代码
================================================
|
-
|