pandas 绘图大全(和绘制横坐标为时间的图)
通常python数据绘图都会使用 Matplotlib 库,当然本篇文章的内容也和它有关。也可以使用pandas 对数据进行绘图。在使用pandas 绘图时,当然要先导入 Matplotlib 库才能使用。不管是 Series 还是 DataFrame 类型的数据,调用的方法都是一样的,只是后者要多处理一下。
线状图 绘制横坐标为时间的图
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: yudengwu # @Date : 2020/6/18 import pandas as pd import matplotlib.pyplot as plt from pylab import * mpl.rcParams[font.sans-serif] = [SimHei] mpl.rcParams[axes.unicode_minus] = False data_1 = pd.read_csv(剔除部分样本后的数据.csv) # 以日期为分组,对每个企业の用电量求和 train_df = data_1[[record_date, power_consumption]].groupby(record_date).agg(sum) print(train_df.head()) #绘图 train_df.plot()#这一行绘图 plt.xlabel(时间) plt.ylabel(用电量kWh) plt.show()
选项 默认以第一列为横坐标,第二列为纵坐标。 对于多维数据需要指定横坐标。我们可以选取其中的两维进行绘制
plot() 默认绘制 折线图(kind=‘line’),若要绘制其它图形,就要添加 kind 参数,以下是 kind 参数的选项: 其他参数: x:标签或位置 y:标签,位置或标签列表( 允许绘制一列与另一列 ) subplots:标签,位置或标签列表( 允许绘制一列与另一列 ) figsize 尺寸大小
其他参数 都可以后面通过 plt 添加 散点图:
import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.DataFrame(np.random.randn(25,4), columns=list(一二三四)) # 以 一组的数据作为 x 轴,以 四 组的数据作为 y 轴,生成散点图 df.plot(x=一, y=四, kind=scatter) #多维数据指定横坐标纵坐标 plt.show()
条形图
import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.DataFrame(np.random.randn(25,4), columns=list(一二三四)) df.plot(kind=bar) plt.show()
条形图可以只绘制一列数据:
import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.DataFrame(np.random.randn(25,4), columns=list(一二三四)) df.plot(y=一,kind=bar) plt.show()
饼状图
import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.DataFrame(np.random.rand(5,1), columns=list(一)) df.plot(kind=pie,subplots=True) plt.show()