【问题标题】:How do I plot weather data from two data sets on one bar graph using python?如何使用 python 在一个条形图上绘制来自两个数据集的天气数据?
【发布时间】:2021-08-17 13:30:59
【问题描述】:

这里是 Python 新手。我正在查看一些城市一年中的一些每日天气数据。 Each city has its own csv file。我有兴趣在条形图中比较两个城市的日平均气温,因此我可以看到(例如)西雅图与凤凰城相比平均气温为 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')

【问题讨论】:

标签: python pandas data-visualization visualization


【解决方案1】:

你可以concatDataFrames,assigning city 作为列,然后在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)

输出:

【讨论】:

  • 哇,谢谢,这太棒了!你能给我一些关于你是如何解决这个问题的建议吗?我很想更好地自己解决这些问题,除了谷歌搜索答案之外,我只是不确定如何做到这一点,而且这个选项对我来说效果不佳。您获得此答案/代码的过程是什么?
  • @cyoung 具体有seaborn的情节,我想你可以看看他们的Example gallery。一种快速简便的方法,可以很好地了解您可以使用它做什么,并且每个示例下都有代码,因此您还可以了解如何操作。我发现它非常有用。而且他们的tutorial也很好
猜你喜欢
  • 2019-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多