Python如何绘制误差直方图?曲线的阴影图?shade range graph

您所在的位置:网站首页 python如何画饼图 Python如何绘制误差直方图?曲线的阴影图?shade range graph

Python如何绘制误差直方图?曲线的阴影图?shade range graph

2023-03-14 22:16| 来源: 网络整理| 查看: 265

问题抽象:Python如何绘制曲线的阴影图?

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

建议的方案:

flights = sns.load_dataset("flights") flights.head() sns.lineplot(data=flights, x="year", y="passengers") plt.show()

效果如下图:

 

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

方案1:

shade range graph

python带阴影范围的折线图_FrenchOldDriver的博客-CSDN博客_matplotlib 折线图区间阴影

这个方法的弊端是,需要构造三条曲线,y1和y2.确定上下边界。难道没有方法,能够根据多条曲线,自动确定这个边界吗?

方案2:

按照下边的方法,实践了一下后,发现没有阴影的效果啊。

lineplot

Seaborn可视化 -- 折线图seaborn.lineplot - 知乎

方案3,这不是我想要的结果:

方案4:

这里有答案,

seaborn.lineplot — seaborn 0.11.2 documentation

 这个阴影部分可以这么理解,1949年,最低的乘客数,最高的乘客数,和平均乘客数;

sns.lineplot(data=flights, x="year", y="passengers") plt.show()

这里有个重要的参数 hue

总结:

问题解决:

def get_dgreeDistr(G): """ 统计一个图的度分布; :param G: :return: """ all_k = [G.degree(i) for i in G.nodes()] #获取每个节点的度值; k = list(set(all_k)) N = len(G.nodes()) Pk = [] #概率分布 for ki in sorted(k): c = 0 for i in G.nodes(): if G.degree(i) == ki: c += 1 Pk.append(c/N) return sorted(k), Pk

上边的函数,等价于:

d = dict(nx.degree(net)) x = list(range(max(d.values()) + 1)) # 构造横坐标[1到度最大的值]; y = [i / n for i in nx.degree_histogram(net)] # 分别统计每个度对应的概率;

--------

G1 = nx.barabasi_albert_graph(n, m) # 无标度网络 G2 = nx.barabasi_albert_graph(n, m) # 无标度网络 G3 = nx.barabasi_albert_graph(n, m) # 无标度网络 k1, pk1 = get_dgreeDistr(G1) # k2, pk2 = get_dgreeDistr(G2) # k3, pk3 = get_dgreeDistr(G3) # df1 = pd.DataFrame() df1["k"] = np.array(k1) df1["pk"] = np.array(pk1) df2 = pd.DataFrame() df2["k"] = np.array(k2) df2["pk"] = np.array(pk2) df3 = pd.DataFrame() df3["k"] = np.array(k3) df3["pk"] = np.array(pk3) df = pd.concat([df1, df2, df3],axis =0,ignore_index = True)

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

求证过程如下:

1、Python如何绘制误差直方图?

2、Python如何绘制曲线的误差图?

3、Python如何绘制曲线的阴影图?



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3