- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个时间序列,其中统一样本保存到一个 numpy 数组,我想用自举置信区间绘制它们的平均值。通常,我使用 Seaborn 的 tsplot
来完成此操作。但是,现在是being deprecated .我应该使用什么替代品?
下面是改编自 Seaborn 文档的示例用法:
x = np.linspace(0, 15, 31)
data = np.sin(x) + np.random.rand(10, 31) + np.random.randn(10, 1)
sns.tsplot(data)
注意:这类似于问题“Seaborn tsplot error”和“Multi-line chart with seaborn tsplot”。但是,就我而言,我实际上需要 Seaborn 的置信区间功能,因此不能简单地使用 Matplotlib 而不进行一些笨拙的编码。
最佳答案
问题中的示例 tsplot
可以使用 matplotlib 轻松复制。
import numpy as np; np.random.seed(1)
import matplotlib.pyplot as plt
import seaborn as sns
x = np.linspace(0, 15, 31)
data = np.sin(x) + np.random.rand(10, 31) + np.random.randn(10, 1)
fig, (ax,ax2) = plt.subplots(ncols=2, sharey=True)
ax = sns.tsplot(data=data,ax=ax, ci="sd")
def tsplot(ax, data,**kw):
x = np.arange(data.shape[1])
est = np.mean(data, axis=0)
sd = np.std(data, axis=0)
cis = (est - sd, est + sd)
ax.fill_between(x,cis[0],cis[1],alpha=0.2, **kw)
ax.plot(x,est,**kw)
ax.margins(x=0)
tsplot(ax2, data)
ax.set_title("sns.tsplot")
ax2.set_title("custom tsplot")
plt.show()
import numpy as np; np.random.seed(1)
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
x = np.linspace(0, 15, 31)
data = np.sin(x) + np.random.rand(10, 31) + np.random.randn(10, 1)
fig, (ax,ax2) = plt.subplots(ncols=2, sharey=True)
ax = sns.tsplot(data=data,ax=ax)
def bootstrap(data, n_boot=10000, ci=68):
boot_dist = []
for i in range(int(n_boot)):
resampler = np.random.randint(0, data.shape[0], data.shape[0])
sample = data.take(resampler, axis=0)
boot_dist.append(np.mean(sample, axis=0))
b = np.array(boot_dist)
s1 = np.apply_along_axis(stats.scoreatpercentile, 0, b, 50.-ci/2.)
s2 = np.apply_along_axis(stats.scoreatpercentile, 0, b, 50.+ci/2.)
return (s1,s2)
def tsplotboot(ax, data,**kw):
x = np.arange(data.shape[1])
est = np.mean(data, axis=0)
cis = bootstrap(data)
ax.fill_between(x,cis[0],cis[1],alpha=0.2, **kw)
ax.plot(x,est,**kw)
ax.margins(x=0)
tsplotboot(ax2, data)
ax.set_title("sns.tsplot")
ax2.set_title("custom tsplot")
plt.show()
我想这个被弃用的原因恰恰是这个函数的使用相当有限,在大多数情况下你最好直接绘制你想绘制的数据。
关于python - 替换已弃用的 tsplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47581672/
我有以下数据框: Date group count 0 2015-01-12 Category1 27 1 2015-01-19 Category1 2 2
我有一个时间序列,其中统一样本保存到一个 numpy 数组,我想用自举置信区间绘制它们的平均值。通常,我使用 Seaborn 的 tsplot 来完成此操作。但是,现在是being deprecate
我想在 tsplot() 中显示标准差,而不是平均值的标准误差。看起来 'ci_band' 选项显示的是后者。 如果这是可能的,有谁知道如何实现这一点的任何例子吗? 最佳答案 2015-11-14 不
我认为这一定与缺少单位/我的单位没有连续编号有关。 我有一个 df,其批处理 ID 是在不同年份测量的,但许多批处理 ID 只在一年(也许两年)内出现。 我仍然想绘制样本随时间的发展情况。 有什么解决
我正在运行以下代码并遇到此问题 - "/usr/local/lib/python2.7/dist-packages/seaborn/timeseries.py:183: UserWarning: Th
我有一个名为 amounts_month 的数据框,属于这种类型: product accounting_month amount 0 A 201404
我想在 Seaborn 中为 tsplot 的下半部分着色。我有以下代码: sns.tsplot(时间=时间,数据=数据) 是否可以为绘图的下部区域着色?我尝试使用 barplot,但我的数据太大,所
我正在尝试使用 seaborn 制作一个简单的 tsplot,但由于我不清楚的原因,当我运行代码时没有任何显示。这是一个最小的例子: import numpy as np import seaborn
我在 pandas DataFrame 中有时间序列数据,我想为这些行设置单独的标记。到目前为止,我只能通过使用 marker='o' 参数为两行使用相同的标记。 我正在使用 http://stanf
我想创建一个 tsplot,其中 x 轴和 y 轴的长度相同。换句话说,图形的纵横比应为 1。 这是行不通的: fig, ax = plt.subplots() fig.set_size_inches
Seaborn's tsplot不像其他一些绘图类型(例如,lmplot)那样提供 size 选项。我知道这是因为 tsplot 是轴级函数,而 lmplot 是图形级函数。 问题: 我真的只是想要一
我正在尝试使用 tsplot 可视化 Gillespie 算法,但是这些点没有连接,因为每个重复和处理的时间点集都不同。有没有什么办法解决这一问题?这是我更改时间点的 gammas 示例代码: imp
我想使用 matplotlib 和 seaborn 创建一个平滑的折线图。 这是我的数据框df: hour direction hourly_avg_count 0 1
我正在尝试使用 seaborn 的 tsplot 函数,但它没有显示输出。相反,我收到一个错误: gammas = sns.load_dataset('gammas') sns.tsplot(time
我正在向 tsplot 传递一个列表列表(比如每个列表中有 31 个项目),它显示 0 到 31 的 x 轴标签。 我怎样才能让它显示 -15 到 15? 示例来自 the tutorial ,如果有
我有一个示例数据框 here (它是 df 的 pickle)。当我执行以下操作时: df = pd.read_pickle('test.pickle') sns.tsplot(data=df.sor
下面我有以下脚本,它创建了一个简单的时间序列图: %matplotlib inline import datetime import pandas as pd import seaborn as sn
我正在尝试 reshape 数据,如下所示: t y0 y1 y2 0 0 -1 0 1 1 1 0 1 2 2 2 1 2 3 3 3 2
我正在尝试在 seaborn 中使用 tsplot 在 FacetGrid 中绘制时间进程数据。我有两个实验,“A”和“B”,每个实验都有两个人(bob 和 joe)的时间过程测量,三个重复。我希望网
我想制作一张很像下面的图片: 我想使用 seaborn 使图表看起来漂亮,并让我自己以后更容易使用 facetgrids(我有十个不同的数据集,我想在同一个图表中显示。) 我在 seaborn 中找到
我是一名优秀的程序员,十分优秀!