我已经使用下面的代码创建了一个sns图。
fig=sns.lineplot(data=zrrgroupby,x='filedate',y='ResourceName',hue='location')filedate是x,它包含一个月内每个星期一的数据。有没有可能用某种标识符或更小的网格来表示它?
类似地,y轴是除了ResourceCount之外的ResourceName。我可以把它分成更小的部分吗?
当前输出:

所需输出:

两个月之间的线表示该月中发生的星期一,因为数据是在每个星期一生成的。
发布于 2020-07-25 14:59:59
在两个轴的记号的位置绘制网格线。记号有两个级别:主要级别(通常有标签)和次要级别(介于两者之间)。
对于水平网格线,可以放置10的倍数的二级刻度。对于垂直网格线,可以放置每个星期一的二级刻度。请注意,当次要记号与主记号重合时,次记号将被抑制。
from matplotlib import pyplot as plt
from matplotlib.ticker import MultipleLocator
from matplotlib.dates import MO, WeekdayLocator
import seaborn as sns
import numpy as np
import pandas as pd
sns.set()
sns.set_style('darkgrid')
dates = pd.date_range('2020-01-01', '2020-07-01', freq='D')
N = len(dates)
df = pd.DataFrame({'Date': np.repeat(dates, 2),
'Resource': np.random.uniform(-3, 3.1, 2 * N).cumsum() + np.tile([50, 130], N),
'Location': np.tile(['loc A', 'loc B'], N)})
ax = sns.lineplot(data=df, x='Date', y='Resource', hue='Location')
ax.yaxis.set_minor_locator(MultipleLocator(10))
ax.xaxis.set_minor_locator(WeekdayLocator(byweekday=(MO)))
ax.grid(True, which='major', lw=1, color='darkgrey')
ax.grid(True, which='minor', lw=1, ls=':', color='darkgrey')
plt.show()

https://stackoverflow.com/questions/63085187
复制相似问题