سؤال

أحاول اكتشاف طريقة لإضافة سهم رأسي يشير لأعلى لكل نقطة من نقاط البيانات الخاصة بي.لدي مؤامرة مبعثرة ورمز أدناه.أحتاج إلى أن تبدأ الأسهم الرأسية من النقاط التي تصعد للأعلى بطول حوالي 0.2 في مقياس الرسم البياني.

import matplotlib.pyplot as plt
fig = plt.figure()
a1 = fig.add_subplot(111)

simbh = np.array([5.3,  5.3,  5.5,  5.6,  5.6,  5.8,  5.9,  6.0,   6.2,  6.3,  6.3])
simstel =np.array([10.02, 10.08, 9.64, 9.53, 9.78, 9.65, 10.05, 10.09, 10.08, 10.22, 10.42])
sca2=a1.scatter(simstel, simbh )

enter image description here

هل كانت مفيدة؟

المحلول

النهج الأخرى المقدمة رائعة.أنا ذاهب لجائزة القراصنة اليوم:

giveacodicetagpre.

أدخل وصف الصورة هنا

نصائح أخرى

هذا مخترق بعض الشيء، اضبطه arrow_offset و arrow_size حتى يبدو الرقم صحيحا.enter image description here

import matplotlib.pyplot as plt
fig = plt.figure()
a1 = fig.add_subplot(111)

simbh = np.array([5.3,  5.3,  5.5,  5.6,  5.6,  5.8,  5.9,  6.0,   6.2,  6.3,  6.3])
simstel =np.array([10.02, 10.08, 9.64, 9.53, 9.78, 9.65, 10.05, 10.09, 10.08, 10.22, 10.42])
sca2=a1.scatter(simstel, simbh, c='w' )
arrow_offset = 0.08
arrow_size = 500
sca2=a1.scatter(simstel, simbh + arrow_offset, 
                marker=r'$\uparrow$', s=arrow_size)

يمكن القيام بذلك مباشرة

giveacodicetagpre.

صورة تجريبية

كان هناك بعض الغرابة في كيفية تنفيذ هذه الأسهم حيث تغيرت الدلالات بحيث "Lolims" تعني "نقطة البيانات هي الحد الأدنى" و "uplims" يعني "نقطة البيانات هي القيمة القصوى".

شاهد https://github.com/atmplotlib/amplotlib/pull/2452HOM>

هذا ليس أنيقا جدا، لكنه يفعل الخدعة

للحصول على الأسهم تبدأ عند نقطة البيانات وترتفع 0.2 وحدة:

giveacodicetagpre.

أدخل وصف الصورة هنا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top