首页 > 解决方案 > 如何使用 python 在一个条形图上绘制来自两个数据集的天气数据?

问题描述

Python新手在这里。我正在查看一些城市一年中的一些每日天气数据。每个城市都有自己的 csv 文件。我有兴趣在条形图中比较两个城市之间的日平均气温计数,因此我可以看到(例如)西雅图与凤凰城相比平均气温为 75 度(或 30 或 100 度)的频率。

我想要一个带有并排条形的条形图,x 轴为温度,y 轴为计数。我已经能够使用这些数据分别获得每个城市的条形图,但不知道如何在同一个条形图上为每个城市使用不同颜色的两个城市。看起来应该很简单,但是我的搜索时间还没有给我一个好的答案。

请建议,哦明智的stackoverflow导师?

这是我到目前为止所得到的:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.read_csv("KSEA.csv")
df2 = pd.read_csv("KPHX.csv")

df["actual_mean_temp"].value_counts(sort=False).plot(kind ="bar")
df2["actual_mean_temp"].value_counts(sort = False).plot(kind = 'bar')

标签: pythonpandasdata-visualizationvisualization

解决方案


您可以concatDataFrames, assigning city 作为列,然后使用histplotin seaborn

import seaborn as sns

z = pd.concat([
    df[['actual_mean_temp']].assign(city='KSEA'),
    df2[['actual_mean_temp']].assign(city='KPHX'),
])

ax = sns.histplot(data=z, x='actual_mean_temp', hue='city',
                  multiple='dodge', binwidth=1)

输出:

图片


推荐阅读