如何在Python中将多个图堆叠为一个图

时间:2019-04-04 14:27:58

标签: python python-3.x matplotlib seaborn

使用Matplotlib或Seaborn之类的Python库,我想创建一个像这样的图形:enter image description here

在x轴上的间隔处(5,10等),我希望不连接曲线,并且在每个间隔值处也需要灰色垂直线。

2 个答案:

答案 0 :(得分:2)

一些情节数据

X1=np.linspace(0,5,6)
X2=np.linspace(5,10,6)
Y1=np.random.normal(0.8,1,(6,))
Y2=np.random.normal(0.85,0.9,(6,))

让我们把它们放在一起并重现您的风格

fig, ax = plt.subplots()
ax.plot(X1,Y1)
ax.plot(X2,Y2)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
plt.xticks(np.linspace(0,10,3))
ax.xaxis.grid(True,linestyle='--')

output

答案 1 :(得分:-1)

import matplotlib.pyplot as plt
import numpy as np 

x =  np.linspace(-np.pi,np.pi,1000)
fig , ax = plt.subplots()
ax.plot(x,np.cos(x))
ax.plot(x,np.sin(x))


这是一种在同一x轴和y轴上叠加不同图的方法。