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()

pandas 绘图大全(和绘制横坐标为时间的图)_第1张图片
pandas 绘图大全(和绘制横坐标为时间的图)_第2张图片
选项
默认以第一列为横坐标,第二列为纵坐标。
对于多维数据需要指定横坐标。我们可以选取其中的两维进行绘制

plot() 默认绘制 折线图(kind=‘line’),若要绘制其它图形,就要添加 kind 参数,以下是 kind 参数的选项:
pandas 绘图大全(和绘制横坐标为时间的图)_第3张图片
其他参数:
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()

pandas 绘图大全(和绘制横坐标为时间的图)_第4张图片
条形图

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()

pandas 绘图大全(和绘制横坐标为时间的图)_第5张图片
条形图可以只绘制一列数据:

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()

pandas 绘图大全(和绘制横坐标为时间的图)_第6张图片
饼状图

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()

pandas 绘图大全(和绘制横坐标为时间的图)_第7张图片

你可能感兴趣的:(学习杂记)