images/blog-posts

数据分析・数据可视化

返回教程主页

上篇 数据分析・多维数组的数值操作

Matplotlib是一个非常有用的Python数据绘图库,借助Matplotlib可以很方便的将数据可视化。

简单示范

我们通过绘制一个简单的函数 $y=x^2$ 来了解matplotlib的基本使用方式。

(1) 引入matplotlib以及numpy库:

import matplotlib.pyplot as plt
import numpy as np

(2) 使用numpy生成均匀分布在-5到5之间的100个数作为横座标集x:

x = np.linspace(-5, 5, 100)

(3) 通过函数 $y=x^2$ 计算纵座标集y:

y = x**2

(4) 调用plot函数进行绘制:

plt.plot(x, y)

(5) 设置x与y座标的标签:

plt.xlabel('x')
plt.ylabel('y')

(6) 调用show函数显示绘制结果:

plt.show()

053-1.png

子图显示

我们可以使用subplot方法在一个窗口中显示多个子图:

plt.subplot(3, 1, 1)
plt.title('part1')
plt.plot(x[:50], y[:50])

plt.subplot(3, 1, 2)
plt.title('part2')
plt.plot(x[50:], y[50:])

plt.subplot(3, 1, 3)
plt.title('full')
plt.plot(x, y)
plt.show()

053-2.png

subplot(3, 1, 1)表示将窗口分割为3行1列,选中当前顺序「上小于下,左小于右,从1开始」中的第一个子图。

直方图绘制

接下来我们以直方图的显示展示y集:

bins = np.linspace(0, 30, 7)
plt.hist(y, bins, rwidth=0.9)
plt.show()

053-3.png

使用np.linspace产生7个均匀分布在0到30的点作为区间分割点,调用hist函数将其以直方图的形式绘制出来,参数rwidth表示条形所占区间的比例。

散点图

现在使用散点图展示 $y=x^2$:

plt.scatter(x, y, s=y * 2, c=y / 25, alpha=0.5)
plt.show()

053-4.png

调用scatter函数以散点图的形式展示函数图像。参数s用于控制对应点的大小;参数c可以用于设定对应点的颜色;alpha用于设定透明度。

继续学习

Matplotlib的绘图功能十分丰富,也支持动画,3D数据绘制,感兴趣的朋友可以去往其官方文档自主学习:

https://matplotlib.org/…

下篇 数据分析・资料的载入与导出

SUBSCRIBE


🔒 No spam. Unsubscribe any time.

About kk

kk

Vincenzo Antedoro is an engineer who helps those who want to invest in renewables. For the rest he enjoys teaching with the method of learning by doing..

» More about kk