第一次使用Stack Overflow,希望我能让自己理解。正在写我的学士论文,需要根据时间(以周为单位)绘制四个不同的 DB(每个数据库对应不同的季节),每个 DB 的实验点为第 0-25 周。该图表需要在变量“周”的每个值中包含四个非重叠箱线图。****,并且在 X 轴中必须显示 0 到 25 的值。截至目前,我在这两个方面遇到问题,并尝试使用 sns.boxplot 中的“Hue”参数修复箱线图的重叠,并使用 *plt.xlim(-0.5, 26 ) 修复 X 轴缩放)*但到目前为止还没有获得积极的结果(参见所附图片和代码)。
有人可以帮我吗?非常感谢!
祝你有美好的一天!
def plot_01(DB_paths):
plt.figure(figsize=(25,10))
for i, DB in enumerate(DB_paths):
df = read_data(DB)
sns.boxplot(data=df, x='Weeks', y='BW', hue='Season', showfliers = False, palette="Oranges")
plt.xlabel('Time (Weeks)')
plt.ylabel('BW')
plt.title('BW evolution over Time (in Weeks) for different Seasons')
legend_labels = [f'DB {i+1}' for i in range(len(DB_paths))]
plt.legend(legend_labels, loc='upper left')
plt.xlim(-0.5, 26)
plt.show()
我最近做了这个,我认为这会有所帮助:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
def plot_01(combined_df):
plt.figure(figsize=(25, 10))
sns.boxplot(data=combined_df, x='Weeks', y='BW', hue='Season', showfliers=False)
plt.xlabel('Time (Weeks)')
plt.ylabel('BW')
plt.title('BW Evolution over Time (in Weeks) for Different Seasons')
plt.legend(title='Season', loc='upper left')
plt.xticks(range(0, 26))
plt.xlim(-0.5, 25.5)
plt.show()