如何使用 python 在一个条形图上绘制来自两个数据集的天气数据?
How do I plot weather data from two data sets on one bar graph using python?
Python 这里是新手。我正在查看一年中几个城市的一些每日天气数据。 Each city has its own csv file。我有兴趣在条形图中比较两个城市之间的日平均气温计数,因此我可以看到(例如)与凤凰城相比,西雅图的平均气温多长时间为 75 度(或 30 或 100)。
我想要一个带有并排条的条形图,x 轴为温度,y 轴为计数。我已经能够使用这些数据分别获得每个城市的条形图,但不知道如何将两个城市放在同一个条形图上,每个城市使用不同的颜色。看起来应该很简单,但我搜索了几个小时还没有得到一个好的答案。
请建议,聪明的 Whosebug 导师?
这是我目前得到的:
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')
您可以 concat
DataFrames,assign
将城市作为列,然后在 seaborn
:
中使用 histplot
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)
输出:
Python 这里是新手。我正在查看一年中几个城市的一些每日天气数据。 Each city has its own csv file。我有兴趣在条形图中比较两个城市之间的日平均气温计数,因此我可以看到(例如)与凤凰城相比,西雅图的平均气温多长时间为 75 度(或 30 或 100)。
我想要一个带有并排条的条形图,x 轴为温度,y 轴为计数。我已经能够使用这些数据分别获得每个城市的条形图,但不知道如何将两个城市放在同一个条形图上,每个城市使用不同的颜色。看起来应该很简单,但我搜索了几个小时还没有得到一个好的答案。
请建议,聪明的 Whosebug 导师?
这是我目前得到的:
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')
您可以 concat
DataFrames,assign
将城市作为列,然后在 seaborn
:
histplot
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)
输出: