【问题标题】:How to rotate the xticks in a Seaborn.objects V0.12x plot如何在 Seaborn.objects V0.12x 图中旋转 xticks
【发布时间】:2023-01-07 17:24:05
【问题描述】:

碰巧,有没有办法旋转下图中的 xticks(只是为了让它更具可读性)?通常 sns.xticks() 在新的 Seaborn.objects 开发中不起作用(这太棒了!)

tcap.\
    assign(date_time2 = tcap['date_time'].dt.date).\
    groupby(['date_time2', 'person']).\
    agg(counts = ('person', 'count')).\
    reset_index().\
    pipe(so.Plot, x = "date_time2", y = "counts", color = "person").\
            add(so.Line(marker="o", edgecolor="w")).\
            label(x = "Date", y = "# of messages",
                  color = str.capitalize,
                  title = "Plot 2: Volume of messages by person, by day").\
            scale(color=so.Nominal(order=["lorne_a_20014", "kayla_princess94"])).\
            show()

此外,我的 x 轴是绝对的,此警告:使用分类单位绘制可解析为浮点数或日期的字符串列表。如果这些字符串应绘制为数字,请在绘制前转换为适当的数据类型。出现。我尝试使用:

import warnings
warnings.filterwarnings("ignore",category=UserWarning)

【问题讨论】:

    标签: python-3.x suppress-warnings xticks seaborn-0.12.x


    【解决方案1】:

    这可以通过创建一个 Axis 对象,在那里旋转轴,然后使用 so.Plot().on() 方法来应用旋转轴标签来完成。请注意,如果您还计划添加构面,这将不起作用(我在询问如何将其与构面结合时发现了您的问题)。

    import seaborn.objects as so
    import matplotlib.pyplot as plt
    import pandas as pd
    
    df = pd.DataFrame({'a':[1,2,3],
                       'b':[4,5,6]})
    
    fig, ax = plt.subplots()
    ax.xaxis.set_tick_params(rotation=90)
    
    (so.Plot(df, x = 'a', y = 'b')
     .add(so.Line())
     .on(ax))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-14
      • 2014-12-27
      • 2022-06-30
      • 2020-08-17
      • 2022-01-26
      • 2011-10-06
      • 1970-01-01
      • 2015-01-31
      相关资源
      最近更新 更多