关键词

NumPy与Matplotlib联合绘图

NumPy和Matplotlib是Python科学计算中常用的两个库,其中NumPy用于数值计算和数组操作,而Matplotlib则用于数据可视化。

下面介绍一些常用的NumPy和Matplotlib绘图方法。

NumPy绘图方法

NumPy提供了一些基本的绘图函数,包括plot、hist、scatter、imshow等。

使用方法如下:

plot函数:用于绘制线条图

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()

输出:

hist函数:用于绘制直方图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=1000)
plt.hist(x, bins=30)
plt.show()

输出:

scatter函数:用于绘制散点图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=100)
y = np.random.normal(size=100)
plt.scatter(x, y)
plt.show()

输出:

imshow函数:用于绘制热力图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=(100, 100))
plt.imshow(x)
plt.show()

输出:

Matplotlib绘图方法

Matplotlib相对于NumPy,提供了更为丰富的绘图功能,在NumPy的基础上,提升了各种图表类型和更丰富的样式,我们可以根据不同的需求选择合适的绘图方法。

以下介绍 Matplotlib 比较常用的绘图方法:

Matplotlib绘制折线图

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
plt.plot(x, y, color='red', linewidth=2.0, linestyle='--', label='sin(x)')
plt.legend(loc='upper right')
plt.xlabel('x')
plt.ylabel('y')
plt.title('sin(x) function')
plt.show()

输出:

Matplotlib绘制散点图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=100)
y = np.random.normal(size=100)
plt.scatter(x, y, color='blue', marker='o', alpha=0.5, label='data')
plt.legend(loc='upper right')
plt.xlabel('x')
plt.ylabel('y')
plt.title('scatter plot')
plt.show()

输出:

Matplotlib绘制直方图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=1000)
plt.hist(x, bins=30, color='green', alpha=0.5, label='data')
plt.legend(loc='upper right')
plt.xlabel('x')
plt.ylabel('Frequency')
plt.title('histogram')
plt.show()

输出:

Matplotlib绘制热力图

import numpy as np
import matplotlib.pyplot as plt

x = np.random.normal(size=(10, 10))
plt.imshow(x, cmap='jet')
plt.colorbar()
plt.show()

输出:

可以看到,Matplotlib相对于NumPy原生的绘图方法,样式更加大方美观。所以一般我们会更多的使用Matplotlib进行数据可视化。

本文链接:http://task.lmcjl.com/news/4273.html

展开阅读全文