Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 巨蟒海本海图-阴影区_Python_Matplotlib_Colors_Seaborn_Area - Fatal编程技术网

Python 巨蟒海本海图-阴影区

Python 巨蟒海本海图-阴影区,python,matplotlib,colors,seaborn,area,Python,Matplotlib,Colors,Seaborn,Area,对不起,我的问题是,我怎样才能在海本海图的上下两行之间添加阴影区域/颜色 我研究的主要代码如下: plt.figure(figsize=(18,10)) sns.set(style="darkgrid") palette = sns.color_palette("mako_r", 3) sns.lineplot(x="Date", y="Value", hue='Std_Type', style='Value_Ty

对不起,我的问题是,我怎样才能在海本海图的上下两行之间添加阴影区域/颜色

我研究的主要代码如下:

plt.figure(figsize=(18,10))
sns.set(style="darkgrid")
palette = sns.color_palette("mako_r", 3)
sns.lineplot(x="Date", y="Value",  hue='Std_Type', style='Value_Type', sizes=(.25, 2.5), palette = palette, data=tbl4)

这样做的目的是获得如下效果(来自seaborn网站的示例): 但我无法复制这种效果,尽管我的数据结构与功能磁共振成像(fmri)几乎相同(seaborn示例)

来自seaborn:

你有什么想法吗? 我试图更改图表样式,但如果我转到
distplot
relplot
,例如,
x\u轴
无法显示时间范围…

请检查以下代码:

# import
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set(style = 'darkgrid')

# data generation
time = pd.date_range(start = '2006-01-01', end = '2020-01-01', freq = 'M')
tbl4 = pd.DataFrame({'Date': time,
                     'down': 1 - 0.5*np.random.randn(len(time)),
                     'up': 4 + 0.5*np.random.randn(len(time))})

tbl4 = tbl4.melt(id_vars = 'Date',
                 value_vars = ['down', 'up'],
                 var_name = 'Std_Type',
                 value_name = 'Value')

# figure plot
fig, ax = plt.subplots(figsize=(18,10))

sns.lineplot(ax = ax,
             x = 'Date',
             y = 'Value',
             hue = 'Std_Type',
             data = tbl4)

# fill area
plt.fill_between(x = tbl4[tbl4['Std_Type'] == 'down']['Date'],
                 y1 = tbl4[tbl4['Std_Type'] == 'down']['Value'],
                 y2 = tbl4[tbl4['Std_Type'] == 'up']['Value'],
                 alpha = 0.3,
                 facecolor = 'green')

plt.show()
这给了我一个情节:

因为我无法访问您的数据,所以我生成了随机数据。用你的替换它们。
阴影区域使用
plt.fill_在
之间填充(文档),其中指定
x
数组(两条曲线共用),区域的上限和下限为
y1
y2
,并且,可以选择颜色及其透明度,分别使用
facecolor
alpha
参数



您不能通过
ci
参数执行此操作,因为它用于显示数据的完整性。

传递ci='sd'会给您想要的吗?这很奇怪,但它保持不变…没有阴影空格。请回答此问题,并将剪贴板粘贴到代码块或包含合成数据:
# import
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set(style = 'darkgrid')

# data generation
time = pd.date_range(start = '2006-01-01', end = '2020-01-01', freq = 'M')
tbl4 = pd.DataFrame({'Date': time,
                     'down': 1 - 0.5*np.random.randn(len(time)),
                     'up': 4 + 0.5*np.random.randn(len(time))})

tbl4 = tbl4.melt(id_vars = 'Date',
                 value_vars = ['down', 'up'],
                 var_name = 'Std_Type',
                 value_name = 'Value')

# figure plot
fig, ax = plt.subplots(figsize=(18,10))

sns.lineplot(ax = ax,
             x = 'Date',
             y = 'Value',
             hue = 'Std_Type',
             data = tbl4)

# fill area
plt.fill_between(x = tbl4[tbl4['Std_Type'] == 'down']['Date'],
                 y1 = tbl4[tbl4['Std_Type'] == 'down']['Value'],
                 y2 = tbl4[tbl4['Std_Type'] == 'up']['Value'],
                 alpha = 0.3,
                 facecolor = 'green')

plt.show()