Python Pandas DataFrame绘图函数详解:从折线图到子图布局
本文详细介绍如何利用Pandas对DataFrame和Series数据进行可视化。涵盖折线图、条形图(含水平与堆积)、散点图、饼图、蜂巢图及箱线图的绘制方法与参数配置,并演示subplots函数实现多子图布局,帮助开发者在数据处理中快速生成直观图表。
背景介绍
Pandas中的DataFrame和Series对象在Matplotlib的基础上,封装了一套简洁的绘图接口,使得在数据处理流程中能够便捷地进行结果可视化。
折线图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(5,2)*10
df=pd.DataFrame(np.abs(data),index=[1,2,3,4,5],columns=[1,2])
df.plot()
plt.show()

条形图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(5,2)*10
df=pd.DataFrame(np.abs(data),index=[1,2,3,4,5],columns=[1,2])
df.plot(kind='bar')
plt.show()

水平条形图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(5,2)*10
df=pd.DataFrame(np.abs(data),index=[1,2,3,4,5],columns=[1,2])
df.plot(kind='barh')
plt.show()

堆积图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(5,2)*10
df=pd.DataFrame(np.abs(data),index=[1,2,3,4,5],columns=[1,2])
df.plot(kind='bar',stacked=True)
plt.show()

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(5,2)*10
df=pd.DataFrame(np.abs(data),index=[1,2,3,4,5],columns=[1,2])
df.plot(kind='barh',stacked=True)
plt.show()

散点图
散点图通常用于展示数据点的集合分布。
该图表类型常用于分析变量间的相关性,适合研究不同变量之间的关联关系。
- x:指定x轴坐标位置。
- y:指定y轴坐标位置。
- s:控制散点的大小。
- c:设定散点的颜色。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=np.random.randn(5,2)*10
df=pd.DataFrame(np.abs(data),index=[1,2,3,4,5],columns=['A','B'])
df.plot(kind='scatter',x='A',y='B',s=df.A*100,c='red')
plt.show()

饼图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.Series(3*np.random.rand(4),index=['a','b','c','d'])
df.plot.pie(figsize=(6,6))
plt.show()

蜂巢图
蜂巢图主要用于体现数据出现的频次或密度。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randn(1000,2),columns=['a','b'])
df.plot.hexbin(x='a',y='b',sharex=False,gridsize=30)
plt.show()

箱线图
箱线图通过最小值、下四分位、中位数、上四分位和最大值这五个数值特征来展示数据分布,有助于判断数据的对称性,是展示一组数据分布情况的常用方法。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randn(1000,2),columns=['a','b'])
df.plot(y=df.columns,kind='box',vert=False)
plt.show()

绘制子图
subplots:默认为False,若需为每一列数据单独绘制子图,则设置为True。
layout:定义子图的布局结构。
figsize:设定画布的大小。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randn(5,2),columns=['a','b'])
df.plot(subplots=True,layout=(2,3),figsize=(10,10),kind='bar')
plt.show()

以上即为Python Pandas工具绘制数据图的使用教程详细内容,更多关于Python Pandas绘图的相关资料,欢迎持续关注本站其他文章。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









