无标题
运行环境
绘图代码
基础绘图
plot 绘制折线图
- 指令格式:
plot([x], y, [fmt], *, data=None, **kwargs) - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# make data
x = np.linspace(0, 10, 100)
y = 4 + 1 * np.sin(2 * x)
x2 = np.linspace(0, 10, 25)
y2 = 4 + 1 * np.sin(2 * x2)
# plot
fig, ax = plt.subplots()
ax.plot(x2, y2 + 2.5, 'x', markeredgewidth=2)
ax.plot(x, y, linewidth=2.0)
ax.plot(x2, y2 - 2.5, 'o-', linewidth=2)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
scatter 绘制散点图
- 指令格式:
scatter(x, y) - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# make the data
np.random.seed(3)
x = 4 + np.random.normal(0, 2, 24)
y = 4 + np.random.normal(0, 2, len(x))
# size and color:
sizes = np.random.uniform(15, 80, len(x))
colors = np.random.uniform(15, 80, len(x))
# plot
fig, ax = plt.subplots()
ax.scatter(x, y, s=sizes, c=colors, vmin=0, vmax=100)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
bar 绘制柱状图
- 代码格式:
bar(x, height) - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13# make data:
x = 0.5 + np.arange(8)
y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0]
# plot
fig, ax = plt.subplots()
ax.bar(x, y, width=1, edgecolor="white", linewidth=0.7)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
stem 绘制茎叶图
- 代码格式:
stem(x, y) - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13# make data
x = 0.5 + np.arange(8)
y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0]
# plot
fig, ax = plt.subplots()
ax.stem(x, y)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
fill_between 绘制区域图
- 代码格式:
fill_between(x, y, z) - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# make data
np.random.seed(1)
x = np.linspace(0, 8, 16)
y1 = 3 + 4*x/8 + np.random.uniform(0.0, 0.5, len(x))
y2 = 1 + 2*x/8 + np.random.uniform(0.0, 0.5, len(x))
# plot
fig, ax = plt.subplots()
ax.fill_between(x, y1, y2, alpha=.5, linewidth=0)
ax.plot(x, (y1 + y2)/2, linewidth=2)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
stackplot 绘制堆栈图
- 代码格式:
stackplot() - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# make data
x = np.arange(0, 10, 2)
ay = [1, 1.25, 2, 2.75, 3]
by = [1, 1, 1, 1, 1]
cy = [2, 1, 2, 1, 2]
y = np.vstack([ay, by, cy])
# plot
fig, ax = plt.subplots()
ax.stackplot(x, y)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
stairs 绘制台阶图
- 代码格式:
stairs(values) - 实例代码:
1
2
3
4
5
6
7
8
9
10
11
12# make data
y = [4.8, 5.5, 3.5, 4.6, 6.5, 6.6, 2.6, 3.0]
# plot
fig, ax = plt.subplots()
ax.stairs(y, linewidth=2.5)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
样式调整
Line2D对象
- 当调用
plot()函数时,会创建Line2D对象 Line2D对象参数解析:
| 属性 | 数据类型 | 解释 |
|---|---|---|
xdata |
list | 指定构成线段的一系列数据点的X轴序列 |
ydata |
list | 指定构成线段的一系列数据点的Y轴序列 |
linewidth 或 lw |
float | 设定线条的宽度,其单位为磅(points) |
linestyle 或 ls |
str | 定义线条的视觉样式 |
color 或 c |
定义线条的颜色 | |
marker |
设定在每个数据点位置上显示的标记符号样式 | |
markersize 或 ms |
设定数据点标记符号的尺寸 | |
markeredgecolor 或 mec |
设定数据点标记符号的边缘颜色 | |
markeredgewidth 或 mew |
设定数据点标记符号的边缘宽度 | |
markerfacecolor 或 mfc |
设定数据点标记符号的内部填充颜色 | |
markerfacecoloralt 或 mfcalt |
为数据点标记符号指定一种备用填充颜色,该属性在特定填充样式(fillstyle)下生效。 |
|
markevery |
控制数据点标记的显示频率 | |
label |
为该线条元素分配一个文本标签,此标签通常被用于在图例(legend)中进行标识。 | |
antialiased 或 aa |
一个布尔值,用于确定是否对线条进行抗锯齿渲染。启用此选项可获得更为平滑的视觉效果。 | |
drawstyle 或 ds |
指定线条的绘制风格,尤用于阶梯图的生成,可选值为 ‘default’、’steps’ 及其变体。 | |
fillstyle |
定义数据点标记符号的填充方式,例如完全填充(’full’)或部分填充。 | |
solid_capstyle |
定义实线类型线段端点的样式,可选值为 ‘butt’、’projecting’ 或 ‘round’。 | |
solid_joinstyle |
定义实线类型线段连接处的样式,可选值为 ‘miter’、’round’ 或 ‘bevel’。 | |
dash_capstyle |
定义虚线类型线段中每一小段端点的样式。 | |
dash_joinstyle |
定义虚线类型线段连接处的样式。 | |
dashes |
通过一个定义了“绘制”与“空白”长度的序列,来自定义虚线的模式。 | |
visible |
一个布尔值,用于控制该线条元素在图形上的可见性。 | |
zorder |
一个浮点数,用于指定该元素的绘制层级顺序。数值较大者将绘制于上层。 | |
data |
提供一种机制,用以同时设置 xdata 与 ydata。 |
|
clip_on |
一个布尔值。若为真(True),则超出坐标轴边界的线条部分将被裁剪。 | |
picker |
启用该元素的拾取事件响应功能,允许进行交互式操作。 | |
pickradius |
设定拾取事件的响应半径阈值。 | |
rasterized |
一个布尔值。若设定为真(True),该线条在输出为矢量图形格式时将被栅格化处理。此举可减小文件体积,但可能以图像保真度为代价。 | |
snap |
一个布尔值。若为真(True),线条的节点将被强制对齐到最近的像素网格,以提升渲染的清晰度。 | |
url |
为该图形元素关联一个统一资源定位符(URL)。 | |
path_effects |
一个 AbstractPathEffect 对象的列表,用以向线条应用高级渲染效果,例如阴影或轮廓。 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LinHao's Pages!


