使用 SQLite3 在 Python 中进行图形化

问题描述 投票:0回答:1

第一次使用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()
python pandas numpy sqlite seaborn
1个回答
0
投票

我最近做了这个,我认为这会有所帮助:

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()
© www.soinside.com 2019 - 2024. All rights reserved.