使用seaborn 库的tips数据集,其中包含了某餐厅服务员收集的顾客付小费的相关数据(评论区)
直方图是观察单个变量最常用的方法。这些值是经过"装箱"(bin)处理的 直方图会将数据分组后绘制成图来显示变量的分布状况。
import pandas as pd
tips = pd.read_csv('data/tips.csv')
tips['total_bill'].describe()
import numpy as np
# 生成等差数列
np.linspace(3.07,50.81,11,endpoint=True)
#
array([ 3.07 , 7.844, 12.618, 17.392, 22.166, 26.94 , 31.714, 36.488,
41.262, 46.036, 50.81 ])
fig = plt.figure(figsize=(16,8))
# hist 直方图 bins 将要可视化的数据 均匀的分成多少组 这里传10 就是分成10组
# total_bill 最小值 3.07, 最大值 50.81 从3.07~50.81均匀的分成10组
# [ 3.07 , 7.844, 12.618, 17.392, 22.166, 26.94 , 31.714, 36.488, 41.262, 46.036, 50.81 ]
axis1 = fig.add_subplot(1,1,1)
axis1.hist(tips['total_bill'],bins=10)
axis1.set_title('Histogram of Total Bill')
axis1.set_xlabel('Total Bill')
axis1.set_ylabel('Frequency')
plt.show()
tips[(tips['total_bill']<12.618) & (tips['total_bill']>7.844)]
散点图用于表示一个连续变量随另一个连续变量的变化所呈现的大致趋势。
fig = plt.figure(figsize=(12,8))
axis1 = fig.add_subplot(1,1,1)
# 绘制散点图 点一个参数散点的x坐标, 第二个参数就是点的y坐标
axis1.scatter(tips['total_bill'],tips['tip'])
def encode_sex(sex):
if sex == 'Female':
return 0
else:
return 1
tips['sex_color'] = tips['sex'].apply(encode_sex)
fig = plt.figure(figsize=(20,8))
axes1 = fig.add_subplot(1,1,1)
axes1.scatter(x = tips['total_bill'],y=tips['tip'],s = tips['size']*20, c= tips['sex_color'],alpha=0.5)
fig = plt.figure(figsize=(20,8))
# 绘图区域可以分成几行 几列 当前图绘制在第几个位置上 位置从1开始计数的
# fig.add_subplot(1,1,1)
fig.add_subplot(3,3,1)
fig.add_subplot(3,3,5)
fig.add_subplot(3,3,9)
Matplotlib绘图步骤:
导入Matplotlib.pyplot
准备数据
创建图表,坐标轴
绘制图表
设置标题,x,y轴标题等