matplotlib
可以完成各种绘图,使用该库首先要导入 pyplot
库。
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt # 两种方法等效
目录
代码风格
有两种风格完成图的绘制,一种是对象导向(OO)风格。这种风格适合于复杂绘图,代码可以被重用。
fig, ax = plt.subplots(figsize=(5, 2.7), layout='constrained')
ax.plot(x, x, label='linear') # Plot some data on the axes.
ax.set_xlabel('x label') # Add an x-label to the axes.
ax.set_ylabel('y label') # Add a y-label to the axes.
ax.set_title("Simple Plot") # Add a title to the axes.
ax.legend(); # Add a legend.
还有一种是 pyplot
风格。这种风格适合于快速绘图。
plt.figure(figsize=(5, 2.7), layout='constrained')
plt.plot(x, x, label='linear') # Plot some data on the (implicit) axes.
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend();
figure
是一张画布,上面可以有各种各样的元素 axes
,比如包含轴、线等。在第一种风格中,subplots()
方法创建了一张图,画布赋值给 fig
,各种元素赋值给 ax
。第二种风格中的 plt.figure()
方法也完成了创建图的操作。其中 figsize
参数表示图片大小。
二维绘图
除了能够绘制各种图形之外,同时也可以美化显示方式。
图形
下面介绍了绘制折线图、柱形图、饼状图等常见图形的方法。
折线图
plot()
方法可以绘制折线图。该方法传入一个列表即可完成折线图绘制,认为这个列表值为 y
值,x
值从 0 开始递增。如果需要自定义 x
值,传入两个列表即可,第一个参数列表为 x
值,第二个参数列表为 y
值。
plt.plot([1, 3, 2, 4])
plt.plot([2, 3, 4, 5], [1, 3, 2, 4])
柱形图
bar()
方法用于绘制柱形图。
plt.bar([1, 2, 3], [3, 5, 2])
散点图
scatter()
方法用于绘制散点图。
x = np.random.ranf(1000)
y