如何使用matpotlib绘制绘图区域外的数据点?

cha*_*com -1 python numpy matplotlib

我正在使用matplotlib绘制数据点.

基本上,我想绘制离散点.他们中的许多人被置于边界之上.但是,如附图所示,图形边界上的数据点仅显示为半圆而不是整圆.

任何人都可以建议如何在边界上绘制这些点作为完整的圆圈?

def PlotGrid(grid_point, file_name):
  plt.figure()
  dims = np.shape(grid_point)
  for i in range(0, dims[1]):
    for j in range(0, dims[2]):
      plt.plot(grid_point[0, i, j], grid_point[1, i, j], 'ro',  markersize=15)
Run Code Online (Sandbox Code Playgroud)

谢谢!

在此输入图像描述

tmd*_*son 5

plt.plotkwarg 设置clip_onFalse,并且这些点将显示在轴外.

plt.plot(grid_point[0, i, j], grid_point[1, i, j], 'ro',  markersize=15, clip_on=False)
Run Code Online (Sandbox Code Playgroud)

来自文档:

Artist.set_clip_on(b)

设置艺术家是否使用剪辑.

当假的艺术家在轴的一侧可见时会导致意想不到的结果.

ACCEPTS:[True | 假]

这是一个最小的例子:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1)

ax.set_xlim(0, 1)
ax.set_ylim(0, 1)

ax.plot(0, 0, 'ro', markersize=30, clip_on=True, label='clip_on=True')
ax.plot(1, 1, 'bo', markersize=30, clip_on=False, label='clip_on=False')

ax.legend()    

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述