绘制数据框,使一列是一组绘制符号作为其他列的函数 | python
plot a dataframe so that one column is a set of plotted signs as a function of the other columns | python
没有更好的解释,我再补上一张图。
这是我的数据框:
df_for_plot
Out[403]:
hour dow month to
timestamp
2019-06-24 00:00:00+00:00 0 0 6 1
2019-06-24 01:00:00+00:00 1 0 6 1
2019-06-24 02:00:00+00:00 2 0 6 1
2019-06-24 03:00:00+00:00 3 0 6 2
2019-06-24 04:00:00+00:00 4 0 6 2
... ... ... ..
2019-09-20 19:00:00+00:00 19 4 9 1
2019-09-20 20:00:00+00:00 20 4 9 1
2019-09-20 21:00:00+00:00 21 4 9 1
2019-09-20 22:00:00+00:00 22 4 9 1
2019-09-20 23:00:00+00:00 23 4 9 1
[34848 rows x 4 columns]
set(df_for_plot["to"])
Out[404]: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
我想绘制这样的东西,以便 hour
和 dow
代表轴上的值,而 to
列将被绘制为一个变量,由一些标志,比如我快速绘制的这个视觉示例
在 python 中有没有办法做这样的事情?
您可以使用 scatterplot
from seaborn with pd.cut
对值进行分组:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
rng = np.random.default_rng(2022)
df = pd.DataFrame({'hour': rng.integers(0, 24, 30),
'dow': rng.integers(0, 5, 30),
'to': rng.integers(0, 11, 30)})
df['cat'] = pd.cut(df['to'], [1, 4, 7, 10], labels=['1-3', '4-7', '8-10'], right=False)
ax = sns.scatterplot(data=df, x='hour', y='dow', hue='cat', style='cat')
plt.show()
没有更好的解释,我再补上一张图。 这是我的数据框:
df_for_plot
Out[403]:
hour dow month to
timestamp
2019-06-24 00:00:00+00:00 0 0 6 1
2019-06-24 01:00:00+00:00 1 0 6 1
2019-06-24 02:00:00+00:00 2 0 6 1
2019-06-24 03:00:00+00:00 3 0 6 2
2019-06-24 04:00:00+00:00 4 0 6 2
... ... ... ..
2019-09-20 19:00:00+00:00 19 4 9 1
2019-09-20 20:00:00+00:00 20 4 9 1
2019-09-20 21:00:00+00:00 21 4 9 1
2019-09-20 22:00:00+00:00 22 4 9 1
2019-09-20 23:00:00+00:00 23 4 9 1
[34848 rows x 4 columns]
set(df_for_plot["to"])
Out[404]: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
我想绘制这样的东西,以便 hour
和 dow
代表轴上的值,而 to
列将被绘制为一个变量,由一些标志,比如我快速绘制的这个视觉示例
在 python 中有没有办法做这样的事情?
您可以使用 scatterplot
from seaborn with pd.cut
对值进行分组:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
rng = np.random.default_rng(2022)
df = pd.DataFrame({'hour': rng.integers(0, 24, 30),
'dow': rng.integers(0, 5, 30),
'to': rng.integers(0, 11, 30)})
df['cat'] = pd.cut(df['to'], [1, 4, 7, 10], labels=['1-3', '4-7', '8-10'], right=False)
ax = sns.scatterplot(data=df, x='hour', y='dow', hue='cat', style='cat')
plt.show()