文献图复现-散点图-python

文献图

在这里插入图片描述

来源

Guo, W., et al., Vegetation can strongly regulate permafrost degradation at its southern edge through changing surface freeze-thaw processes. Agricultural and Forest Meteorology, 2018. 252: p. 10-17.

解释

颜色和形状表示类别,灰色线表示标准差,适合用来展示不同类型对象的分布。

复现图

在这里插入图片描述

复现代码(python)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

rng = np.random.RandomState(1234)

x1 = rng.rand(8)
x2 = rng.rand(8)
x3 = rng.rand(8)
x4 = rng.rand(8)
y1 = rng.rand(8)
y2 = rng.rand(8)
y3 = rng.rand(8)
y4 = rng.rand(8)

plt.figure(figsize=(8,8))

#------数据展示------
marker = 'o' # 'o','.',',','x','+','v','^','<','>','s','d'
plt.plot(x1,y1,marker,c='teal',ms=10) #Pine
plt.errorbar(x1,y1,xerr=np.std(x1,ddof=1),yerr=np.std(y1,ddof=1),
             fmt='.',c='gray',alpha=0.5,lw=1)
plt.plot(x2,y2,marker,c='blue',ms=10) #Larch
plt.errorbar(x2,y2,xerr=np.std(x2,ddof=1),yerr=np.std(y2,ddof=1),
             fmt='.',c='gray',alpha=0.5,lw=1)

marker = 's'
plt.plot(x3,y3,marker,c='red',ms=10) #Steppe for pine
plt.errorbar(x3,y3,xerr=np.std(x3,ddof=1),yerr=np.std(y3,ddof=1),
             fmt='.',c='gray',alpha=0.5,lw=1)
plt.plot(x4,y4,marker,c='orange',ms=10) #Steppe for larch
plt.errorbar(x4,y4,xerr=np.std(x4,ddof=1),yerr=np.std(y4,ddof=1),
             fmt='.',c='gray',alpha=0.5,lw=1)
#------数据展示------

#------图例制作------
x0 = 0
y0 = 0
marker = 's' #Thawing
plt.plot(x0,y0,marker,label="Pine",c='teal',ms=10)
plt.plot(x0,y0,marker,label="Larch",c='blue',ms=10)
#Freezing
plt.plot(x0,y0,marker,label="Steppe for pine",c='red',ms=10)
plt.plot(x0,y0,marker,label="Steppe for larch",c='orange',ms=10)

plt.plot(x0,y0,marker,label="  ",c='white',ms=10) # 空行
plt.plot(x0,y0,marker,label="Thawing",c='black',ms=10)
marker = 'o'
plt.plot(x0,y0,marker,label="Freezing",c='black',ms=10)
plt.plot(x0,y0,'s',label="  ",c='white',ms=10) # 掩盖图例
#------图例制作------

plt.legend(bbox_to_anchor=(1.52, 1.02),loc=0,fontsize=20,
           frameon=False,labelspacing=0.2,handletextpad=0.2 )

plt.ylabel("y",fontsize=20)
plt.xlabel("x",fontsize=20)
plt.tick_params(labelsize=20)

plt.show()

参考

  1. matplotlib Scatter Masked官方文档
  2. 散点图和误差棒
  3. plot()和scatter()画散点图改变点的大小
  4. 随机数生成
  5. 标准差计算(std)
  6. 求均值,方差,标准差
  7. 调整图例边框
  8. 图例 legend() 参数详解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撼沧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值