- 目录
-
折线图
分开显示多个图
散点图
柱形图
绘制堆叠柱形图
直方图
箱形图
饼图
-
Pandas继承和优化了matplotlib,因此可以直接使用Series和DataFrame对象通过plot()方法轻松地绘制图形。
使用pandas绘制图形时通常需配合matplotlib一起使用。
折线图
Series和DataFrame调用plot(),默认绘制折线图。
索引为X轴,数据为Y轴。
import pandas as pdimport matplotlib.pyplot as plt#数据dataDF = pd.DataFrame(data={'a':[1,2,3,4], 'b':[4,3,2,1]})dataDF.plot(title='Show subplot',legend=True)#title设置图名,legend=True表示展示图例plt.show() #画图
分开显示多个图
通过设置plot()的参数subplot=True,可以将DataFrame的列自动拆分,然后分开显示为多个图像。
dadataDataFrame.plot(subplots=True, title='Show subplot' ,legend=True)plt.show()
散点图
使用plot.scatter()创建散点图
参数 x 指定x轴表示的列
参数 y 指定y轴表示的列
参数 s 可以设置每个元素的大小(可省略)
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt#数据data_x = np.random.randint(0,100,size=100)data_y = np.random.randint(0,100,size=100)data = pd.DataFrame({'col_x':data_x,'col_y':data_y})data.plot.scatter(x='col_x',y='col_y', s=np.random.randint(1,100,size=100))plt.show()
柱形图
使用plot.bar()创建柱形图。
import pandas as pdimport matplotlib.pyplot as plt#数据data = pd.DataFrame(data={'A':[10,30,40], 'B':[8,22,34], 'C':[12,23,50]}, index=['Class1','Class2','Class3'])#画柱形图data.plot.bar()plt.show()
绘制堆叠柱形图
设置参数stacked=True ,来绘制堆叠的柱形图。
data.plot.bar(stacked=True)plt.show()
直方图
使用 hist()方法来绘制直方图。通过设置参数bins来调整格子数量。
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt#数据data = pd.DataFrame(data=np.random.randn(500,2))data.hist(bins=100)plt.show()
箱形图
使用plot.box()绘制箱型图。
import pandas as pdimport matplotlib.pyplot as plt#数据data_x = np.random.randint(0,100,size=100)data_y = np.random.randint(50,100,size=100)data_z = np.random.randint(80,160,size=100)data = pd.DataFrame(data={'X':data_x, 'Y':data_y, 'Z':data_z})#绘制箱型图data.plot.box()plt.show()
饼图
使用plot.pie()绘制饼图。
默认饼图为椭圆形,可以通过设定参数figsize来指定圆形大小。
import pandas as pdimport matplotlib.pyplot as pltdata = pd.Series(data=[10,20,30,40], index=['a','b','c','d'])ax = data.plot.pie(title='Pie Chart')ax.set_ylabel('') #设置y轴标签为空,不设置默认为Noneplt.show()
Pandas绘制饼图的时候,要单独设置一下y轴的标签,如果不想显示就设置为空。
~~End~~



