在Python中,使用Matplotlib,如何繪製一個散點圖空的圈?我們的目標是繪製的空心圓,其中一些已經被scatter()
繪製出來,以便突出顯示它們,理想情況下無需重畫彩色圓圈。如何在Python中使用空圈來繪製散點圖?
回答
從documentation爲散射:
Optional kwargs control the Collection properties; in particular:
edgecolors:
The string ‘none’ to plot faces with no outlines
facecolors:
The string ‘none’ to plot unfilled outlines
嘗試以下操作:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(60)
y = np.random.randn(60)
plt.scatter(x, y, s=80, facecolors='none', edgecolors='r')
plt.show()
注:對於其他類型的地塊看到this post對使用markeredgecolor
和markerfacecolor
。
這些工作?
plt.scatter(np.random.randn(100), np.random.randn(100), facecolors='none')
,或者使用曲線圖()
plt.plot(np.random.randn(100), np.random.randn(100), 'o', mfc='none')
所以我假設你想突出一些符合某些標準的要點。您可以使用Prelude的命令以空圓圈和第一次調用繪製高亮點的第二個散點圖來繪製所有點。確保s參數對於較大的空圓來說足夠小,以包圍較小的實心圓。
另一種選擇是不使用scatter並使用circle/ellipse命令分別繪製補丁。這些都是matplotlib.patches,here是如何繪製圓矩形等
這裏是一些示例代碼的另一種方式:這增加了一圈當前座標,情節或圖像或其他:
from matplotlib.patches import Circle # $matplotlib/patches.py
def circle(xy, radius, color="lightsteelblue", facecolor="none", alpha=1, ax=None):
""" add a circle to ax= or current axes
"""
# from .../pylab_examples/ellipse_demo.py
e = Circle(xy=xy, radius=radius)
if ax is None:
ax = pl.gca() # ax = subplot(1,1,1)
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_edgecolor(color)
e.set_facecolor(facecolor) # "none" not None
e.set_alpha(alpha)
(由於imshow aspect="auto"
,圖片中的圓被壓扁以省略)。
+1:有趣! – EOL 2010-11-23 16:27:37
在matplotlib 2.0中有一個叫做fillstyle
的參數,它允許更好地控制標記填充的方式。 在我來說,我已經與errorbars使用它,但它一般 http://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.errorbar.html
fillstyle
工程標記接受以下值:「全」 | 'left'| 'right'| 'bottom'| 'top'| 「無」]
使用fillstyle
時,有要記住兩個重要的事情,
1)如果MFC設置爲任何類型的值,它會採取優先,因此,如果您沒有設置填充樣式爲「沒有'它不會生效。 因此要避免使用MFC的連詞與填充樣式
2)您可能希望控制標記邊緣寬度(使用markeredgewidth
或mew
),因爲如果標記比較小,邊寬很厚,標記看起來像填充即使它們不是。
下面是使用errorbars一個例子:
myplot.errorbar(x=myXval, y=myYval, yerr=myYerrVal, fmt='o', fillstyle='none', ecolor='blue', mec='blue')
- 1. 如何在python中使用rpy2繪製散點圖?
- 2. 如何使用底圖Python在背景上繪製散點圖
- 3. python散點圖繪製線
- 4. 用python繪製三維散點圖?
- 5. 使用python繪製散點圖中的數據點
- 6. 用Cocoa繪製散點圖
- 7. 繪製wordcloud在散點圖
- 8. 如何使用核心圖中的數字繪製散點圖
- 9. 如何在python中的圓圈中繪製一個隨機點?
- 10. MATLAB-如何繪製散點圖矩陣
- 11. 在Excel中繪製散點圖fomat
- 12. 在R中繪製散點圖
- 13. wxpython在matlibplot中繪製散點圖
- 14. Pandas GroupBy散點圖 - 如何繪製開放/空心圓
- 15. 如何重疊繪製python散點圖上的一條線?
- 16. 如何在iphone sdk中使用圖形繪製虛線圓圈?
- 17. 如何在圓圈上繪製圖像
- 18. 如何使用Scala-Chart繪製散點圖?
- 19. 我如何繪製一個谷歌散點圖使用PHP
- 20. 用Python seaborn繪製邊緣直方圖的散點圖0.7
- 21. 使用matplotlib在字典中繪製散點圖
- 22. 如何在C++中繪製三維散點圖?
- 23. 如何在R中繪製分層散點圖?
- 24. 如何在matplotlib中繪製兩組字符串的散點圖
- 25. IPython中無法繪製3D散點圖
- 26. 按r中的組繪製散點圖
- 27. 在pyplot/python中繪圖時,如何強制散點實際像素值?
- 28. 如何使用d3在散點圖上逐一繪製/添加節點?
- 29. 如何使用畫布繪製HTML5中的1/4圈圈
- 30. 如何在網站中使用散景繪製圖形url
謝謝!問題是,更常見的(在Python中)'facecolors = None'不起作用,這使我絆倒了。 – EOL 2015-03-01 06:49:20
非常有幫助。這是'markerfacecolor ='none'',這是現在的樣子。 – 2015-05-28 03:16:55
我有我的matplotlib風格的方式,將邊緣寬度設置爲零。如果您沒有看到有'markerfacecolor ='none''的任何標記,請嘗試添加'markeredgewidth = 1.0' – oLas 2017-09-19 19:44:24