3.6 数据可视化
🚩修本章节之前需要安装 matplotlib,建议先修:matplotlib的安装教程以及简单调用
3.6.1 线形图
df1 = pd.DataFrame(data = np.random.randn(1000, 4), index = pd.date_range(start = '23/1/2022', periods = 1000), columns=list('ABCD')) df1.cumsum().plot()
3.6.2 条形图
df2 = pd.DataFrame(data = np.random.rand(10, 4), columns = list('ABCD')) display(df2.plot.bar(stacked = True)) # stacked 堆叠 display(df2.plot.bar(stacked = False))# stacked 不堆叠
3.6.3 饼图
# 饼图用来表示百分比,百分比是自动计算的,颜色可以更换 df3 = pd.DataFrame(data = np.random.rand(4, 2), index = list('ABCD'), columns = ['One', 'Two']) # subplots 表示两个图,多个图 # figsize 表示尺寸 df3.plot.pie(subplots = True,figsize = (8, 8))
更换颜色:
# 更换颜色 df3 = pd.DataFrame(data = np.random.rand(4, 2), index = list('ABCD'), columns = ['One', 'Two']) df3.plot.pie(subplots = True,figsize = (8, 8), colors = np.random.random(size = (4, 3)))
3.6.4 散点图
# 横纵坐标,表示两个属性之间的关系 df4 = pd.DataFrame(np.random.randint(0, 50, size = (50, 4)), columns = list('ABCD')) display(df4.plot.scatter(x = 'A', y = 'B')) # A和B关系绘制 df4['F'] = df4['C'].map(lambda x : x + np.random.randint(-5, 5, size = 1)[0]) display(df4.plot.scatter(x = 'C', y = 'F'))
3.6.5 面积图
df5 = pd.DataFrame(data = np.random.rand(10, 4), columns = list('ABCD')) display(df5.plot.area(stacked = True)) # stacked 堆叠 display(df5.plot.area(stacked = False)) # stacked 不堆叠
同样,我们可以调节它的颜色:
df5 = pd.DataFrame(data = np.random.rand(10, 4), columns = list('ABCD')) display(df5.plot.area(stacked = True, color = np.random.rand(4, 3))) # 解释一下 random.rand(4, 3) # 3就代表三个颜色:红绿蓝(三基色) # 4就代表 ABCD