Python数据分析

Python数据分析 知识量:13 - 56 - 232

13.2 常用图表类型><

折线图- 13.2.1 -

绘制折线图时,可以使用plot()函数。plot()函数有许多的参数,比较常用的有以下几个:

  • x 代表x轴。

  • y 代表y轴。

  • color 表示线的颜色。

  • linestyle 表示线的样式。

  • linewidth 表示线的宽度。

  • marker 表示线中每个数据点的形状。

以下看一个示例:

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.plot(x,y)
plt.show()

绘制的图形为:

Figure_1107.png

散列点图- 13.2.2 -

散列点就是将数据以点的形式标注于图上,但不会连接起来。可以使用scatter()函数来绘制散列点。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.scatter(x,y)
plt.show()

绘制的图形为:

Figure_1121.png

气泡图- 13.2.3 -

气泡图与散列点图类似,散列点图的每个点大小一样,但是气泡图的每个点的大小不一致。同样使用scatter()函数来实现,但要设置参数s,使每个点大小不一。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
setsize=y*0.1  # 根据y轴数据设置点的不同大小
ax.scatter(x,y,s=setsize)
plt.show()

绘制的图形为:

Figure_1140.png

柱状图- 13.2.4 -

绘制柱状图可以使用bar()函数来实现。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.bar(x,y)
plt.show()

绘制的图形为:

Figure_1129.png

条形图- 13.2.5 -

条形图与柱状图类似,但是x轴和y轴进行了调换。通常使用barh()函数来绘制条形图。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.barh(x,y)
plt.show()

绘制的图形为:

Figure_1133.png

面积图- 13.2.6 -

要绘制面积图,可以使用stackplot()函数来实现。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.stackplot(x,y)
plt.show()

绘制的图形为:

Figure_1144.png

雷达图- 13.2.7 -

雷达图用于评价某一事物的优缺点,可以使用polar()函数来绘制雷达图。polar()函数主要有5个重要的参数:

  • theta 表示每个点在极坐标系中的角度。

  • r 表示每个点在极坐标系中的半径。

  • color 表示连接线的颜色。

  • marker 表示点的形状。

  • linewidth 表示连接线的宽度。

import matplotlib.pyplot as plt
import numpy as np
theta=[i*np.pi/4 for i in range(9)]
r = [7,8,6,9,8,6,7,8,7]
plt.polar(theta, r, marker='o',color='red',linewidth=3)
plt.show()

绘制的图形为:

Figure_1626.png

饼图- 13.2.8 -

饼图常用于表示占比情况。可以使用pie()函数来绘制饼图,其参数较多,常用的主要有:

  • x 表示待绘图的数据。

  • labels 表示每一块的标签。

  • explode 表示每一块距离圆心的距离。

  • colors 表示每一块的颜色。

  • radius 表示饼图的半径。

下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([878,88,395,726,56,12])
labels=['January','February','March','April','May','June']
ax.pie(x,labels=labels)
plt.show()

绘制的图形为:

Figure_1646.png

箱形图- 13.2.9 -

箱形图用于反映数据离散程度,可以使用boxplot()函数来绘制箱形图,其主要参数为:

  • x 表示待绘图的数据。

  • vert 表示箱形图的方向,值为True时为纵向;False时为横向,默认是True。

  • widths 表示箱形图的宽度。

  • labels 表示箱形图的标签。

示例如下:

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
record1=np.array([878,88,395,726,56,12])
record2=np.array([873,881,526,256,56,154])
x=[record1,record2]
labels=['record1','record2']
ax.boxplot(x,labels=labels)
plt.show()

绘制的图形为:

Figure_1658.png