Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib-设置特定象限的背景色_Python_Matplotlib - Fatal编程技术网

Python Matplotlib-设置特定象限的背景色

Python Matplotlib-设置特定象限的背景色,python,matplotlib,Python,Matplotlib,在Jfreechart中,有一个名为setQuadrantPaint的方法,让您在绘图中设置给定量子点的背景色 您如何在matplotlib中实现等效功能 例如 您可以在背景中使用imshow绘制2x2阵列。给它一个范围将使它的中心始终为0,0 import numpy as np import matplotlib.pyplot as plt x1, y1 = np.random.randint(-8,8,5), np.random.randint(-8,8,5) x2, y2 = np.r

Jfreechart
中,有一个名为
setQuadrantPaint
的方法,让您在绘图中设置给定量子点的背景色

您如何在
matplotlib
中实现等效功能

例如


您可以在背景中使用imshow绘制2x2阵列。给它一个范围将使它的中心始终为0,0

import numpy as np
import matplotlib.pyplot as plt

x1, y1 = np.random.randint(-8,8,5), np.random.randint(-8,8,5)
x2, y2 = np.random.randint(-8,8,5), np.random.randint(-8,8,5)

vmax = np.abs(np.concatenate([x1,x2,y1,y2])).max() + 5

extent = [vmax*-1,vmax, vmax*-1,vmax]
arr = np.array([[1,0],[0,1]])


fig, ax = plt.subplots(1,1)

ax.scatter(x1,y1, marker='s', s=30, c='r', edgecolors='red', lw=1)
ax.scatter(x2,y2, marker='s', s=30, c='none', edgecolors='red', lw=1)

ax.autoscale(False)
ax.imshow(arr, extent=extent, cmap=plt.cm.Greys, interpolation='none', alpha=.1)

ax.axhline(0, color='grey')
ax.grid(True)

在打印数据点之后,但在打印图像之前,将“自动缩放”设置为False可确保轴仅缩放到数据点