Marker ölçüsü

Dağılım qrafika üçün pyplot sənədində:

 matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, faceted=True, verts=None, hold=None, **kwargs) 

Marker ölçüsü

s: ədəd ölçüsü ^ 2 Bu x və y kimi eyni uzunluqdakı bir skaler və ya array.

Vahid points^2 nədir? Bu nə deməkdir? s=100 10 pixel x 10 pixel deməkdir?

Əsasən, fərqli ölçülü markerlər ilə səpələnmə sahələri yaratmağa çalışıram və sayının nə demək olduğunu öyrənmək istəyirəm.

237
12 февр. LWZ 12 fevralda təyin olundu 2013-02-12 10:37 '13 saat 10:37 'da 2013-02-12 10:37
@ 6 cavablar

Bu, ölçüsü müəyyənləşdirmək üçün bir qədər qarışıqlıq ola bilər, amma əsasən marker sahəsini müəyyənləşdirirsiniz. Bu markerin eni (və ya hündürlüyü) iki dəfə artırmaq üçün s 4 dəfə artırmaq lazımdır. [A = AH => (2W) (2H) = 4A olduğundan)

Lakin, markerlərin ölçüsünün bu şəkildə müəyyənləşdirilməsinin bir səbəbi var. Sahənin miqyasının ölçülməsi sayəsində, genişlik kvadratı kimi, eni iki dəfə artırır (əslində 4 dəfə artırır). Bunu görmək üçün aşağıdakı iki nümunəni və istehsal etdikləri nəticəni nəzərdən keçirin.

 # doubling the width of markers x = [0,2,4,6,8,10] y = [0]*len(x) s = [20*4**n for n in range(len(x))] plt.scatter(x,y,s=s) plt.show() 

verir

2019

279
13 февр. Cavab Dan 13 Feb 2013-02-13 21:59 '13 saat 21:59 'da 2013-02-13 21:59

Burada başqa cür cavablar budur ki, s bir marker sahəsini ifadə edir, mən bu cavabı əlavə etdim ki, bunun mütləq hal deyil.

Xalların ölçüsü ^ 2

plt.scatter üçün markersize**2 . Sənədlərdə göstərildiyi kimi

s : scalar və ya array_like, forma (n,), isteğe bağlı
2-ci bənddə ölçüsü. Varsayılan rcParams ['lines.markersize'] ** 2.

Bu sanki qəbul edilə bilər. X balları böyük olan bir marker almaq üçün bu nömrəni təşkil etməliyik və s sorgusuna keçir.

Beləliklə, xətt markerləri və yayılma ölçüsü arqumenti arasındakı əlaqələr kvadratdır. Eyni ölçülü 10 ədəd nöqtə ölçülü marker olaraq səpilmə markerini yaratmaq üçün, scatter( .., s=100) .

2019

21 нояб. Cavab verilir ImportanceOfBeingErnest 21 noyabr. 2017-11-21 03:49 '17 də 3:49 2017-11-21 03:49

Bu markerin sahəsi. Yəni s1 = 1000 və sonra s2 = 4000 , hər dairənin radiusları arasındakı nisbət r_s2 = 2 * r_s1 . Aşağıdakı hekayəyə baxın:

 plt.scatter(2, 1, s=4000, c='r') plt.scatter(2, 1, s=1000 ,c='b') plt.scatter(2, 1, s=10, c='g') 

2019

14
20 апр. Joaquin 20 apreldə cavab verdi 2016-04-20 22:24 '16 saat 10:24 'da 2016-04-20 22:24

Kompas metodunda bir dairənin ölçüsünü təyin etmək üçün markersize istifadə edə bilərsiniz.

 import numpy as np import matplotlib.pyplot as plt x1 = np.random.randn(20) x2 = np.random.randn(20) plt.figure(1) # you can specify the marker size two ways directly: plt.plot(x1, 'bo', markersize=20) # blue circle with size 10 plt.plot(x2, 'ro', ms=10,) # ms is just an alias for markersize plt.show() 

Buradan

2019

13 апр. Cavab zhaoqing verildi Apr 13 2017-04-13 09:54 '17 'da 9:54' də 2017-04-13 09:54 'də

Mən də əvvəlcə bu məqsəd üçün "saçma" istifadə etməyə çalışdım. Çox vaxt sərf edilmiş vaxtdan sonra - növbəti qərarda dayandım.

 import matplotlib.pyplot as plt input_list = [{'x':100,'y':200,'radius':50, 'color':(0.1,0.2,0.3)}] output_list = [] for point in input_list: output_list.append(plt.Circle((point['x'], point['y']), point['radius'], color=point['color'], fill=False)) ax = plt.gca(aspect='equal') ax.cla() ax.set_xlim((0, 1000)) ax.set_ylim((0, 1000)) for circle in output_list: ax.add_artist(circle) 

2019

ilə bağlı digər suallar və ya bir sual