python barplot_barplot画条形图

barplot

条形图主要展现的是每个矩形高度的数值变量的中心趋势的估计

条形图默认显示的是平均值

默认使用均属作为集中趋势的估计,误差线越长,数据离散程度越大,数据越不稳定。

#coding=utf-8

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

df=pd.read_csv("tips.csv")

print(df.head()) #默认读取前5行

'''

total_bill tip sex smoker day time size

0 16.99 1.01 Female No Sun Dinner 2

1 10.34 1.66 Male No Sun Dinner 3

2 21.01 3.50 Male No Sun Dinner 3

3 23.68 3.31 Male No Sun Dinner 2

4 24.59 3.61 Female No Sun Dinner 4

'''

#默认画条形图

sns.barplot(x="day",y="total_bill",data=df)

plt.show()

#计算平均值看是否和条形图的高度一致

print(df.groupby("day").agg({"total_bill":[np.mean]}))

'''

total_bill

mean

day

Fri 17.151579

Sat 20.441379

Sun 21.410000

Thur 17.682742

'''

默认画条形图1.png

#estimator 指定条形图高度使用相加的和

sns.barplot(x="day",y="total_bill",data=df,estimator=np.sum)

plt.show()

#计算想加和看是否和条形图的高度一致

print(df.groupby("day").agg({"total_bill":[np.sum]}))

'''

total_bill

sum

day

Fri 325.88

Sat 1778.40

Sun 1627.16

Thur 1096.33

'''

默认画条形图-指定为相加和.png

#hue 对已分组的数据进一步分组,注:hue对应的列名必须是可分类的

#如下:hue="sex",sex该列是可以分类

sns.barplot(x="day",y="total_bill",data=df,estimator=np.sum,hue="sex")

plt.show()

默认画条形图-指定hue再分类.png

#order 指定条形图展示的顺序,参数值为列表['','','']

sns.barplot(x="day",y="total_bill",data=df,

estimator=np.sum,

hue="sex",

order=['Thur','Fri','Sat','Sun'])

plt.show()

默认画条形图-order指定条形图顺序.png

#capsize 设置冒条的宽度

sns.barplot(x="day",y="total_bill",data=df,

estimator=np.sum,

hue="sex",

order=['Thur','Fri','Sat','Sun'],

capsize=0.3)

plt.show()

默认画条形图-capsize指定冒条的宽度.png

#palette 指定调色板

#创建两个子画布,一行两列的形式,figsize指定子画布的大小

figure,axes=plt.subplots(1,2,figsize=(10,8))

sns.barplot(x="day",y="total_bill",data=df,

estimator=np.sum,

hue="sex",

order=['Thur','Fri','Sat','Sun'],

capsize=0.3,

ax=axes[0])

sns.barplot(x="day",y="total_bill",data=df,

estimator=np.sum,

hue="sex",

order=['Thur','Fri','Sat','Sun'],

capsize=0.3,

palette="Set3",

ax=axes[1])

plt.show()

默认画条形图-palette条形图的调色背景1.png

默认画条形图-palette条形图的调色背景1-figsize指定子画布的大小.png

Python中,可以使用Matplotlib库中的bar函数来绘制条形图。bar函数可以绘制垂直或水平方向的条形图,可以用于比较不同类别之间的数量或者比率,以及用于显示数据的分布情况等。 bar函数的语法如下: ``` matplotlib.pyplot.bar(x, height, width, bottom, align, color, edgecolor, linewidth, tick_label, label) ``` 其中,参数的含义如下: - `x`:一个向量,表示每个条形的位置。 - `height`:一个向量,表示每个条形的高度或长度,也就是要绘制的数据。 - `width`:一个标量,表示每个条形的宽度,默认值为0.8。 - `bottom`:一个向量,表示每个条形的底部位置,默认值为0。 - `align`:一个字符串,表示条形的对齐方式,默认值为'center',表示条形居中对齐。 - `color`:一个字符串或颜色序列,表示条形的填充颜色。 - `edgecolor`:一个字符串或颜色序列,表示条形的边框颜色。 - `linewidth`:一个标量,表示条形的边框宽度,默认值为None。 - `tick_label`:一个向量,表示每个条形的标签。 - `label`:一个字符串,表示条形的标注。 下面是一个简单的示例: ```python import matplotlib.pyplot as plt import numpy as np # 创建数据 x = np.array(['A', 'B', 'C', 'D', 'E']) height = np.array([2, 4, 6, 8, 10]) # 绘制垂直条形图 plt.bar(x, height, color='blue') plt.title('Vertical Barplot') plt.show() # 绘制水平条形图 plt.barh(x, height, color='red') plt.title('Horizontal Barplot') plt.show() ``` 该示例中,我们创建了一个包含5个元素的数组height,作为条形图的高度,以及一个包含5个元素的数组x,作为条形图的标签。然后,我们使用plt.bar函数绘制了一个垂直条形图和一个水平条形图,并使用plt.title函数设置了图形的标题。最后,使用plt.show函数显示图形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值