سؤال

أقوم بتطبيق سحابة علامة على جهاز محمول. تفاصيل نموذج البيانات وما إلى ذلك، ليست مهمة بشكل خاص هنا. سؤالي هو حول تحجيم العلامات:

ما هو التعبير "الأفضل" لتعبير علامة الخريطة بحجم الخط؟

لقد نظرت في هذا المشنور مناقشة التحجيم الخطي و اللوغاريتمي و هذه الإجابة من رسم أدريان كوخ من نهج متعدد الحدود للإلهام. ومع ذلك، يبدو أنني أتذكر منشور آخر على Interwebs مع الكثير من الاستكشاف في هذه المشكلة.

لقد وجدت أيضا بعض "أفضل الممارسات"على مدونة، على الرغم من أنني غير متأكد من بروفيدنسا من أفضل الممارسات. هذه لا تعلق على تحجيم التردد.

ما هي البدائل التي لدي لدي من أجل تحجيم العلامات، والتي هي الطريقة المفضلة / القياسية؟ أنا أيضا أفكر في الحد الأدنى لخطوط الحد الأدنى، الحد الأقصى لعدد العلامات والألوان وما إلى ذلك

تحرير: حسب المناقشة في هذا السؤال, ، أنا مهتم ب "قياسي" Tagcloud، مع اختلافات حجم الخط.

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

المحلول

عملت على مشروع سحابة علامة صغيرة في العام الماضي، حيث استخدمت شيئا على غرار

β = (int) ((((maxθ - minθ) x ω) + minθ + 0.5)
حيث هو الترجيح المحسوب مسبقا وفقا لبعض المقياس (في تردد الخط الخاص بك)، Minθ و Maxθ أقل الحدود، و β هي القيمة النهائية. يمكن تطبيق هذا على أي مميزة بصرية (حجم الخط واللون والوزن إذا تم دعمه وما إلى ذلك).

لقد وجدت أن التحجيم الخطي واللغمة اللداني يميل إلى الاعتماد على توزيع مجموعة البيانات. في مجموعات البيانات مع القيم المتطرفة البارزة وجدت Tanh كانت مفيدة ل "تجانس" القيم الناتجة.

نصائح أخرى

هناك مناقشة ممتازة في هذا PDF., ، والتي تناقش التحجيم، التجميع، والاقتطاع على العلامات لعرضها.

الحل الذي وجدته يعمل بشكل جيد هو كما يلي

font_size = (max_font_size - min_font_size) * (Math.sin(1.5*(X)) + minsize

حيث X هي القيمة العادية التي ترغب في تعيينها في حجم الخط

X = (this_value-min_value)/(max_value-min_value)

هذا يزيد حجم التفاضلية لأسفل 3 الربعات الثلاث من النطاق، مثل تقليل تأثير القيم المتطرفة

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