df.plot绘图基本操作参考
import matplotlib.pyplot as plt import numpy as np import pandas as pd #读取天气数据 df = pd.read_csv('data/london2018.csv') df
- 折线图
单个y值
df.plot.line(x='Month', y='Tmax') plt.show()
#grid绘制格线
df.plot(x='Month', y='Tmax', kind='line', grid=True) plt.show()
多个y值
df.plot(x='Month', y=['Tmax', 'Tmin']) plt.show()
条形图/柱状图
垂直柱状图
df.plot(x='Month',y='Rain',kind='bar') #同样还可以这样画 #df.plot.bar(x='Month', y='Rain') plt.show()
水平条形图
bar环卫barh,就可以将条形图变为水平条形图
df.plot(x='Month', y='Rain', kind='barh') #同样还可以这样画 #df.plot.bar(x='Month', y='Rain') plt.show()
多个变量的条形图
df.plot(kind='bar', x = 'Month', y=['Tmax', 'Tmin']) plt.show()
散点图
df.plot(kind='scatter', x = 'Month', y = 'Sun') plt.show()
饼形图
df.plot(kind='pie', y='Sun') plt.show()
上图绘制有两个小问题:
- legend图例不应该显示
- 月份的显示用数字不太正规
df.index = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] df.plot(kind='pie', y = 'Sun', legend=False) plt.show()
箱型图
df2.plot.box(y='Rain') #df2.plot(y='Rain', kind='box') plt.show()
直方图
df2.plot(y='Rain', kind='hist') #df2.plot.hist(y='Rain') plt.show()
纵坐标的刻度可以通过bins设置
df2.plot(y='Rain', kind='hist', bins=[0,25,50,75,100,125,150,175, 200]) #df2.plot.hist(y='Rain') plt.show()
多图并存
df.plot(kind='line', y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4个变量可视化 subplots=True, #多子图并存 layout=(2, 2), #子图排列2行2列 figsize=(20, 10)) #图布的尺寸 plt.show()
df.plot(kind='bar', y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4个变量可视化 subplots=True, #多子图并存 layout=(2, 2), #子图排列2行2列 figsize=(20, 10)) #图布的尺寸 plt.show()
df.plot更多参数
df.plot(x, y, kind, figsize, title, grid, legend, style)
x 只有dataframe对象时,x可用。横坐标
y 同上,纵坐标变量
kind 可视化图的种类,如line,hist, bar, barh, pie, kde, scatter
figsize 画布尺寸
title 标题
grid 是否显示格子线条
legend 是否显示图例
style 图的风格
一、介绍
使用DataFrame的plot方法绘制图像会按照数据的每一列绘制一条曲线,默认按照列columns的名称在适当的位置展示图例,比matplotlib绘制节省时间,且DataFrame格式的数据更规范,方便向量化及计算。
二、df.plot()
DataFrame.plot(x=None, y=None, kind=‘line’, ax=None, subplots=False,
sharex=None, sharey=False, layout=None, figsize=None,
use_index=True, title=None, grid=None, legend=True,
style=None, logx=False, logy=False, loglog=False,
xticks=None, yticks=None, xlim=None, ylim=None, rot=None,
fontsize=None, colormap=None, position=0.5, table=False, yerr=None,
xerr=None, stacked=True/False, sort_columns=False,
secondary_y=False, mark_right=True, **kwds)
2.1 df.plot()不带参数
(1)默认画折线图
(2)默认基于索引画所有列
以上截图参考:https://blog.csdn.net/u010916338/article/details/105725777