爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: hainllj

[图形美化] 这样的图是怎么做出来的呀

[复制链接]

新浪微博达人勋

 楼主| 发表于 2021-3-29 08:37:33 | 显示全部楼层
目前在MeteoInfoLab脚本汇总贴里王老师有个帖子脚本做出的效果与这个图差不多,但代入我的数据后效果不太理想曲线拟合:http://bbs.06climate.com/forum.php?mod=viewthread&tid=51274&extra=page%3D1
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-3-29 09:18:09 | 显示全部楼层
这个东西用python来画,贼好画,画散点图即可。
以下是CSDN的链接,可以学一下,就等于至少是4维的图了。

matplotlib.pyplot.scatter(x, y, s=20, c=None, marker='o', 
cmap=None, norm=None, vmin=None, vmax=None, alpha=None, 
linewidths=None, verts=None, edgecolors=None, hold=None, 
data=None, **kwargs) 
这个函数接收的参数很多,有默认值的平时也不需要我们指定,是可选的,这次我们用到的除了基本的x ,y参数,还有c,s,alpha和marker,c就是为点指定的颜色数组,s是点的面积大小,alpha是点的颜色的透明度,marker是指定点标记的形状
————————————————
版权声明:本文为CSDN博主「tianguiyuyu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tianguiyuyu/article/details/80497919
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-3-30 11:50:55 | 显示全部楼层
本帖最后由 yebugu 于 2021-3-30 15:11 编辑
hainllj 发表于 2021-3-29 08:26
非常感谢,但我太小白了,没看懂你的代码。是MATLAB吗?没学过呢

1.使用的是R语言的ggplot2包
2.物理意义没做解释但改成了正值。色阶你可以自行调整,即将湿度升、降序排列。
3.右边界拟合的不好,可能数据少的原因。

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

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


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


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


  14. # 以上为我构造的数据集,你可自行替换;第一列$T$,第二列$O_3$,第三列湿度,最后一列为拟合的$O_3$
  15. 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()
复制代码

================================================






Rplot01.jpeg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-3-31 08:56:04 | 显示全部楼层
yebugu 发表于 2021-3-30 11:50
1.使用的是R语言的ggplot2包
2.物理意义没做解释但改成了正值。色阶你可以自行调整,即将湿度升、降序排 ...

非常感谢,{:eb511:}{:eb511:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表