【问题标题】:Matplotlib concentric shading (bullseye) in scatter plot?散点图中的 Matplotlib 同心阴影(靶心)?
【发布时间】:2016-11-30 16:37:26
【问题描述】:

我正在尝试创建一个简单的散点图。为了这个特定的目的,我想用不同的颜色围绕原点做同心圆(比如一个有 3 个区域的靶心)。我想知道,是否有类似于axvspanaxhspan 但用于同心着色的东西?

让我举个例子:

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt

x = x = np.linspace(0, 20, 50)
y = np.cos(3*x)


a = 3       # radius 0 to >a
b = 5       # radius a to >b    
c = 7       # radius b to c

plt.axvspan(a, b, color='r', alpha = 0.5)
plt.axhspan(a, b, color='y', alpha = 0.5)
plt.scatter(x, y)
plt.show()

我想要从原点以a 为半径的同心绿色阴影,从ab 的黄色,从bc 的红色阴影,而不是水平和垂直阴影。有任何想法吗?

【问题讨论】:

  • 试试我的解决方案

标签: python-3.x matplotlib scatter-plot


【解决方案1】:

这是我的解决方案:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = np.linspace(0, 20, 50)
y = np.cos(3*x)

a = 3       # radius 0 to >a
b = 5       # radius a to >b
c = 7       # radius b to c


circle1 = plt.Circle((0, 0), a, color='green', alpha=0.3)
circle2 = plt.Circle((0, 0), b, color='yellow', alpha=0.3)
circle3 = plt.Circle((0, 0), c, color='red', alpha=0.3)

ax.add_artist(circle3)
ax.add_artist(circle2)
ax.add_artist(circle1)

plt.scatter(x, y)
plt.axis([-22, 22, -22, 22])

plt.show()

输出:

【讨论】:

  • 很好的解决方案!谢谢!我如何决定在圆圈上绘制散点图?另外:是否也可以使用省略号?
  • @Rachel 如果我给了你我的答案,请将其标记为正确。
  • 对不起。它现在做到了。虽然我认为解决方案并不完全正确,因为圆圈位于散点上方 - 这不是靶心图。
猜你喜欢
  • 2010-11-27
  • 1970-01-01
  • 2010-11-28
  • 2023-03-02
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多