返回 导航

Python / AI

hangge.com

Python - 使用Pandas进行绘图详解(附样例)

作者:hangge | 2022-08-10 08:34
    MatplotlibPython 最著名的绘图库,之前我也写过相关文章介绍如何使用(点击查看)。虽然 Matplotlib 功能强大,但作为一种较低级的绘图工具,绘图时需要组装各基础组件。
    我们也可以使用 Pandas 实现数据可视化,其封装简化了 matplotlib 的功能,能够利用 dataframe 对象创建标准图表,十分方便。下面通过样例进行演示。

1,折线图

    下面是一个简单的折线图样例。可以看到行索引中包含日期,Pandas 会自动调用 gct().autofmt_xdate() 来格式化 x 轴。同时对于多列数据也会自动生成图例。
import pandas as pd
import numpy as np
#准备数据
data = np.random.randn(8,4) #随机生成8*4的矩阵
index = pd.date_range('8/1/2022',periods=8) #生成日期序列
columns = ['A','B','C','D'] #生成列名
#绘制图表
df = pd.DataFrame(data,index=index, columns=columns)
df.plot()

2,柱状图

(1)plot 方法增加 kind="bar" 参数可以实现柱状图的绘制:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(6,4),columns=['a','b','c','d'])
df.plot(kind="bar")

(2)而 kind="barh" 则可以实现水平柱状图(条形图)的绘制:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(6,4),columns=['a','b','c','d'])
df.plot(kind="barh")

(3)通过设置参数 stacked=True 可以生成柱状堆叠图:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(6,4),columns=['a','b','c','d'])
df.plot(kind="bar",stacked=True)

3,饼图

下面是一个简单的饼图样例:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4), index=['go', 'java', 'c++', 'c'], columns=['score'])
df.plot(kind='pie', subplots=True, autopct = '%.2f%%', figsize=(5,5))

4,箱型图

下面是一个简单的箱型图样例:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10, 4), columns=['A', 'B', 'C', 'D'])
df.plot(kind='box')

5,区域图

下面是一个简单的区域图样例:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(5, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='area')

6,散点图

下面是一个简单的散点图样例:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(30, 2), columns=['a', 'b'])
df.plot(kind='scatter',x='a',y='b')
评论

全部评论(0)

回到顶部