Seaborn 条形图和堆叠条形图
条形图用于以矩形条表示观测值。Python 中的 seaborn 模块使用 seaborn.barplot()
函数创建条形图。
请参考下面的代码,为商品在不同日期的价格创建一个简单的条形图。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Price 1": [7,1,5,6,3,10,5,8],
"Day": [1,2,3,4,5,6,7,8]})
s1 = sns.barplot(x = 'Day', y = 'Price 1', data = df, color = 'red')
在本教程中,我们将学习如何在 Seaborn 中创建堆叠的条形图。
当我们谈论堆叠的条形图时,我们的意思是在同一张图中表示两组或更多组观察值。这使整个图形具有堆叠的外观,并且在第二组上放置了一组观察值。
我们没有可以直接创建这种堆叠条形图的函数,但是我们可以使用传统的 seaborn.barplot()
方法绘制两个单独的条形图,并将它们放置在彼此的顶部。
我们在以下代码中实现此逻辑。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Price 1": [7,1,5,6,3,10,5,8],
"Price 2" : [1,2,8,4,3,9,5,2],
"Day": [1,2,3,4,5,6,7,8]})
s1 = sns.barplot(x = 'Day', y = 'Price 1', data = df, color = 'red')
s2 = sns.barplot(x = 'Day', y = 'Price 2', data = df, color = 'blue')
在上图中,我们在条形图上绘制了两种商品在不同日期的价格。
如果需要,我们可以在同一条形图上表示一组分类值的观察值。最终结果将不是堆叠外观,而是代表同一条图上多个条上的观测值。
请参考以下代码。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Price": [7,1,5,6,3,10,5,8],
"Product": ['C1','C2','C1','C2','C1','C2','C1','C2'],
"Day": [1,1,2,2,3,3,4,4]})
s = sns.barplot(x ="Day", y = 'Price', data = df, hue = "Product")
我们能够在同一张图上绘制 4 个不同日期的 2 种产品的价格。我们给 x 和 y 轴提供条形图的期望值,并使用 hue
参数对不同类别的观察进行分组,以便在同一图形上创建不同的条形。这样,最终输出将更加整洁,并且仅使用一个函数即可完成所有操作。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。