2016-11-30 70 views
0

我想創建一個簡單的散點圖。爲了這個特定的目的,我想用不同顏色圍繞原點的同心圓(如3個區域的靶心)。我想知道,如果有與axvspanaxhspan類似的東西,但是用於同心陰影嗎?散點圖中的Matplotlib同心陰影(靶心)?

讓我給你舉個例子:

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。有任何想法嗎?

+0

嘗試用我的解決方案 – eyllanesc

回答

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() 

輸出:

enter image description here

+0

偉大的解決方案!謝謝!我怎樣才能決定把陰謀分散在圓圈上?另外:是否也可以使用橢圓? – Rachel

+0

@Rachel如果我給你我的答案,請將其標記爲正確。 – eyllanesc

+0

對不起。它現在做了。雖然我不認爲解決方案是完全正確的,因爲圓圈在分散之上 - 這不是一個bullseye圖表。 – Rachel