شخصی‌سازی اندازه‌ی نشان‌گرها

زمانی که ما به بهبود شکل و سیاق نقشه فکر می‌کنیم باید روی جنبه‌هایی از داده تمرکز کنیم که می‌خواهیم با آن‌ها ارتباط شفّاف‌تری برقرار کنیم. نقشه‌ی فعلی محل وقوع هر زمین‌لرزه را نشان می‌دهد امّا در مورد شدّت آن‌ها چیزی نمی‌گوید. هدف ما این است که بینندگان بلافاصله ببینند که شاخص‌ترین زمین‌لرزه‌ها در کجای جهان رخ داده است.

برای انجام این کار اندازه‌ی نشان‌گرها را بسته به بزرگی هر زمین‌لرزه تغییر می‌دهیم:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import json
--snip--

# Map the earthquakes.
data = [{
    'type': 'scattergeo',
    'lon': lons,
    'lat': lats,
    'marker': {
        'size': [5*mag for mag in mags],
    },
}]

my_layout = Layout(title='Global Earthquakes')

--snip--

پلات‌لی طیف گسترده‌ای از شخصی‌سازی‌ها را برای یک دنباله‌ی داده فراهم می‌کند که هر کدام را می‌توان به صورت یک جفت کلید-مقدار بیان کرد. اینجا از کلید 'marker' استفاده می‌کنیم تا میزان بزرگی هر نشان‌گر را روی نقشه مشخّص کنیم. ما از دیکشنری تودرتو به عنوان مقدار مرتبط با 'marker' استفاده می‌کنیم چون می‌توان تعدادی تنظیمات را همزمان برای تمام نشان‌گرهای نقشه تعیین کرد.

هدف این است که اندازه‌ی نشان‌گر متناسب با بزرگی از زمین‌لرزه باشد. امّا اگر تنها لیست mag را ملاک قرار دهیم نشان‌گرها بسیار کوچک خواهند شد و تشخیص تفاوت آن‌ها مشکل است. باید بزرگی را در ضریب مقیاسی ضرب کنیم تا به اندازه‌ی مطلوب نشان‌گر برسیم. در صفحه نمایش من مقدار ۵ به خوبی کار می‌کند؛ مقداری کمی کوچک‌تر یا بزرگتر ممکن است برای نقشه‌ی شما نتیجه‌ی مطلوب‌تر بدهد. ما از دربرداری لیست استفاده می‌کنیم که اندازه‌ی مناسب نشان‌گر را برای هر مقدار در لیست mags تولید می‌کند.

زمانی که این کد را اجرا می‌کنید باید نقشه‌ای شبیه شکل ۱۶-۸ ببینید. این نقشه به مراتب بهتر است امّا هنوز کارهای بیشتری برای انجام مانده است.

شکل ۱۶-۸- اکنون نقشه بزرگی هر زمین‌لرزه را نشان می‌دهد.

شخصی‌سازی رنگ نشان‌گرها

ما همچنین می‌توانیم رنگ هر نشان‌گر را برای ارائه‌ی برخی دسته‌بندی‌ها در مورد شدّت هر زمین‌لرزه تغییر دهیم. برای این کار از مقیاس‌های رنگی پلات‌لی استفاده می‌کنیم. پیش از هر تغییری فایل eq_data_30_day_m1.json را به پوشه‌ی داده‌ی خود کپی کنید. این فایل شامل داده‌های زمین‌لرزه‌ای یک دوره‌ی ۳۰ روزه است و نقشه با وجود این مجموعه‌داده‌ی بزرگ‌تر جالب‌تر به نظر خواهد رسید.

این روش استفاده از مقیاس رنگی برای نمایش بزرگی هر زمین‌لرزه است:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
--snip--

filename = 'data/eq_data_30_day_m1.json'

--snip--

# Map the earthquakes.
data = [{
    --snip--

    'marker': {
        'size': [5*mag for mag in mags],
        'color': mags,
        'colorscale': 'Viridis',
        'reversescale': True,
        'colorbar': {'title': 'Magnitude'},
    },
}]

--snip--

مطمئن شوید که نام فایل را به‌روز می‌کنید تا از مجموعه‌داده‌ی ۳۰روزه استفاده کنید. اینجا تمام تغییرات مهم در دیکشنری 'marker' رخ می‌دهد چون تنها می‌خواهیم ظاهر نشان‌گرها را تغییر دهیم. تنظیمات 'color' به پلات‌لی می‌گوید که باید از چه مقدارهایی استفاده کند تا محل قرارگیری هر نشان‌گر در مقیاس رنگی تعیین شود. از لیست mags برای تعیین رنگی که استفاده شده است استفاده می‌کنیم. تنظیمات 'colorscale' به پلات‌لی می‌گوید که از کدام گستره‌ی رنگی استفاده کند: 'Viridis' مقیاسی رنگی است که آبی تیره تا زرد روشن تغییر می‌کند و برای چنین مجموعه‌داده‌ای کارآمد است. 'reversescale' را برابر True می‌گذاریم زیرا می‌خواهیم زرد روشن را برای کمترین مقدارها و آبی تیره را برای شدیدترین زمین‌لرزه‌ها استفاده کنیم. تنظیمات 'colorbar' به ما امکان کنترل ظاهر مقیاس رنگی نمایش‌داده‌شده در کنار نقشه را می‌دهد. این عنوان مقیاس رنگی را 'Magnitude' قرار می‌دهید تا آن‌چه را رنگ‌ها بیان می‌کنند شفّاف کنیم.

اگر اکنون برنامه را اجرا کنید نقشه‌ای بسیار زیباتر133 خواهید دید. در شکل ۱۶-۹ مقیاس رنگی شدت یک‌یک زمین‌لرزه‌ها را نشان می‌دهد. رسم این تعداد زمین‌لرزه به طور واضح نشان می‌دهد که مرزهای صفحه‌های تکتونیکی کجاست!

شکل ۱۶-۹: در زمین‌لرزه‌های ۳۰ روزه رنگ و اندازه برای نمایش بزرگی هر زمین‌لرزه به کار می‌رود.