首页 > 解决方案 > 在同一图表上为不同状态绘制不同的线

问题描述

我正在尝试为几个州的 ___ 数量创建分布。

我想在同一张图上获得所有状态,用不同的线表示。

这是我的数据的示例:您有状态('我想过滤行)、评论数量(x 轴)和拥有这么多评论的餐厅的频率(y 轴)

State | num_of_reviews | Count_id
alaska        1              400
alaska        2              388
alaska        3              344
...
Wyoming      57              13

每当我尝试在 seaborn 或 matplotlib 中做一个简单的线图时,它只会返回一个凌乱的图形。

有谁知道我可以轻松过滤 df['State'] 的一串代码?

标签: pythonmatplotlibseaborn

解决方案


假设您有 50 多个州,我不会在同一个图上绘制每个州的分布,因为它会变得非常混乱且难以阅读。相反,我建议使用 a (在此处FacetGrid阅读更多信息)。

这样的事情应该做。

import seaborn as sns
import matplotlib.pyplot as plt
g = sns.FacetGrid(df, col="State", col_wrap=5, height=1.5)
g = g.map(plt.hist, "num_of_reviews")

您可以在此处找到有关如何可视化数据的其他可能解决方案和想法。

如果这些都不适合您,那么如果您更好地解释您的问题并提供所需的输出和最小、完整且可验证的示例,这可能会有所帮助。


推荐阅读