数据可视化之pandas绘图

本文介绍了如何使用Pandas解决绘图中的乱码问题,并详细探讨了Pandas中的各种绘图类型,包括线图、直方图、饼图、条形图、区域图、密度图、箱线图、散点图、六角形图和双坐标图的绘制方法,同时提供了参数说明和实例展示。
摘要由CSDN通过智能技术生成

解决绘图中乱码问题

plt.rcParams['font.sans-serif']=['Simhei']   # 解决中文乱码问题
plt.rcParams['axes.unicode_minus']=False   # 解决坐标轴刻度负号乱码

Pandas中的绘图类型

  • Pandas通过标准约定来引用matplotlib API来实现更便捷的绘图方法。pandas的Series和DataFrame都自带绘图方法
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rc('figure', figsize=(8, 4))  # 设置图片大小,单位为英寸

线图line

Series作图
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2018', periods=1000))
ts = ts.cumsum()
ts.head()

生成的Series如下:

2018-01-01   -0.218622
2018-01-02    0.800360
2018-01-03    1.032471
2018-01-04    0.770278
2018-01-05   -0.754439
Freq: D, dtype: float64
plt.figure(figsize=(8,4))
ts.plot();
  • 图表的横坐标是双坐标
    在这里插入图片描述
Series画图的参数说明
参数 说明
kind 可以使‘line’线图(默认);’bar’垂直柱状图; ’barh’水平柱状; 'hist’直方图; 'box’箱线图; 'kde’或者’desity’密度图; 'area’区域图; 'scatter’散点图;‘hexbin’六角形图; pie’饼图
figsize 元组形式表示图的大小,单位为英寸
use_index 是否用索引作x轴,默认为True
title 标题
grid 是否显示网格,默认为None
legend 是否显示图例,False/True/‘reverse’
label 用于图例的标签
ax Subplot对象,默认为当前对象
style 传给matlibplot的风格字符串,如’ko–’;list或dict的形式表示每列的style
alpha 图表的填充不透明度(0-1之间)
xtick X轴刻度值
xlim X轴界线,如[0,100]

  • s.plot(kind=‘line’) 等价于 s.plot.line()
  • s.plot(kind=‘bar’) 等价于 s.plot.bar()
  • s.plot(kind=‘hist’) 等价于 s.plot.hist()
ts.plot.line()   # 图形与上图一样
DataFrame 作图
df = pd.DataFrame(np.random.randn(100, 4).cumsum(0), columns=list('ABCD'), index=np.arange(0, 100, 1))
df.head()

生成的DaraFrame如下:


		A			B			C			D
0	0.408464	0.122632	1.285822	-0.074799
1	0.174366	-0.839241	0.791051	1.290122
2	-0.365918	-1.897591	-0.687835	0.081802
3	1.696604	-1.908418	-1.002529	-0.308029
4	2.693575	-2.039872	-1.726345	0.863233
df.plot();

在这里插入图片描述

DataFrame画图及其参数说明

DataFrame还有一些用于对列进行灵活处理的选项,例如,要将所有列都绘制到一个subplot中还是创建各自的subplot。参数如下表:

参数 说明
subplots 将各个DataFrame列绘制到单独的subplot中
sharex 如果subplots=True,则共用同一个X轴,包括刻度和界限
sharey 类似于上
figsize 表示图像大小的元组
title 表示图像标题的字符串
legend 添加一个subplot图例(默认为True)
sort_columns 以字母表顺序绘制各列,默认使用前列顺序
df.plot(subplots=True,
		# layout = (2,3),
		figsize = (12,6),
		# sharex = False
		);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值