- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试在 seaborn 中使用 tsplot
在 FacetGrid
中绘制时间进程数据。我有两个实验,“A”和“B”,每个实验都有两个人(bob
和 joe
)的时间过程测量,三个重复。我希望网格的每个子图都包含一个给定实验的 tsplot
(其中每个人都有不同的颜色,置信区间来自重复。数据如下。
代码是:
import matplotlib.pylab as plt
import seaborn as sns
import pandas
df = pandas.read_csv("./data.txt", sep="\t")
sns.set(style="ticks", color_codes=True)
plt.figure()
g = sns.FacetGrid(df, col="t", hue="name", row="experiment")
g = g.map(sns.tsplot, time="t", value="val", unit="reps",
condition="name")
plt.show()
它给出了错误:TypeError: tsplot() takes at least 1 argument (5 given)
。
如何正确绘制?
更新:
我发现这需要map_dataframe
。我的新代码是:
g = sns.FacetGrid(df, row="experiment")
g = g.map_dataframe(sns.tsplot, time="t", unit="reps",
value="val", condition="name")
除了颜色不正确之外,这可行:
如何纠正?
--
数据是data.txt
:
t name reps val experiment
0 bob 1 3.3 A
0 bob 2 4.0 A
0 bob 3 3.8 A
5 bob 1 6.0 A
5 bob 2 6.4 A
5 bob 3 6.9 A
10 bob 1 9.99 A
10 bob 2 9.1 A
10 bob 3 9.0 A
0 joe 1 2.1 A
0 joe 2 2.2 A
0 joe 3 2.5 A
5 joe 1 4.5 A
5 joe 2 4.1 A
5 joe 3 4.0 A
10 joe 1 6.8 A
10 joe 2 6.1 A
10 joe 3 6.2 A
0 bob 1 2.3 B
0 bob 2 3.0 B
0 bob 3 2.8 B
5 bob 1 5.0 B
5 bob 2 5.4 B
5 bob 3 5.9 B
10 bob 1 10.99 B
10 bob 2 10.1 B
10 bob 3 10.0 B
0 joe 1 3.1 B
0 joe 2 3.2 B
0 joe 3 3.5 B
5 joe 1 3.5 B
5 joe 2 3.1 B
5 joe 3 3.0 B
10 joe 1 7.8 B
10 joe 2 7.3 B
10 joe 3 7.2 B
最佳答案
解决方案在@mwaskom 的评论中:
You have to specify a color palette to tsplot to override the fact that
FacetGrid
thinks it is plotting something in one color.g.map_dataframe(..., color="deep")
should do it.
关于python - 如何在 Python 的 seaborn 中将 tsplot 与 FacetGrid 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37416405/
我有以下数据框: 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 中找到
我是一名优秀的程序员,十分优秀!