pandas画图-【老鱼学pandas】

本节主要讲述如何把pandas中的数据用图表的方式显示在屏幕上,有点相似在excel中显示图表。python

安装matplotlib

为了可以显示图表,首先须要安装matplotlib库,安装方法以下:dom

pip3 install matplotlib

显示图表

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 产生1000个随机数
data = pd.Series(np.random.rand(1000))
# 画图表
data.plot()
# 显示图表
plt.show()

在上面的代码中,咱们首先建立1000个随机数序列点,而后对这1000个点进行画图表,最后调用plt.show()显示图表。函数

显示的结果为:
调试

在matplotlib中,若是想要显示图表,须要使用plt.plot()函数,但在pandas中,咱们只要对序列数据调用plot()函数就能显示其所拥有的数据,是否是很简单。excel

显示矩阵数据

显示矩阵中的数据,就会把每列当作一个数据序列进行显示,例如:code

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 产生1000个4列正态分布的随机数
data = pd.DataFrame(np.random.randn(1000, 4))
# 对其中的数据进行累加,目的是为了可以使例子中显示的曲线有上升波动效果
data = data.cumsum()
# 打印出前几行的数据,方便咱们调试其中的数据值
print(data.head())
# 画图表
data.plot()
# 显示图表
plt.show()

其中显示的头几行数据值为:blog

0         1         2         3
0  0.596323  0.195563  0.037300  0.900385
1  0.186813  2.217155  0.516096  0.623348
2  1.147338  2.362926  2.597531  0.960079
3  1.571033  2.910459  0.947950  0.609487
4  1.783988  3.702685 -0.358119  2.341726

显示的图表为:
图片

仍是挺漂亮的图表,有点像股市走势图。:)
只是其中的0,1,2,3这几个列名不大好看,咱们能够修改产生数据集中的列名,这样,在显示图表时就能按照数据集中的列名进行显示了。
好比,咱们想修改数据集中的列名显示为A、B、C、D:ip

data = pd.DataFrame(np.random.randn(1000, 4), columns=list("ABCD"))

这样显示为:
pandas

显示散点图

能够用scatter()函数来显示散点图,但其使用方式跟显示图表的有点不同,主要是此函数是在plot属性中的方法,须要注意一下:

data.plot.scatter(x='A', y='B')

完整的代码为:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 产生1000个4列正态分布的随机数
data = pd.DataFrame(np.random.randn(1000, 4), columns=list("ABCD"))
# 打印出前几行的数据,方便咱们调试其中的数据值
print(data.head())
# 显示散点图
data.plot.scatter(x='A', y='B')
# 显示图
plt.show()

显示图为:

在scatter函数中还能够添加额外的属性,好比能够经过color来指定颜色,经过label来指定标签,咱们来看一下:

data.plot.scatter(x='A', y='B', color='DarkBlue', label="Class 1")

显示的图为:

若是咱们想要在一张图中再画一下另外一个散点图,好比,在上面这个例子中,咱们已经显示了横坐标是A纵坐标是B的散点图,如今咱们还想把横坐标是A,纵坐标是C的数据也显示在其中,该怎么进行呢?

# 显示散点图
pic1 = data.plot.scatter(x='A', y='B', color='DarkBlue', label="Class 1")
data.plot.scatter(x='A', y='C', color='DarkGreen', label='Class2', ax=pic1)
# 显示图
plt.show()

图片显示为:

更多图形

更多的图形还有:条形图, 直方图, 盒须图, 饼图等,相应的函数名有:bar, hist, box, kde, area, hexbin, pie等(前面不是一一对应的,有兴趣的读者能够本身去试试看。)

相关文章
相关标签/搜索