জিওপ্যান্ডাসের সাথে প্লটটিতে চিহ্নিতকারী আকার পরিবর্তন করুন


10

আমার কাছে পয়েন্ট এবং কিছু সম্পর্কিত ডেটা সহ একটি জিওডাটা ফ্রেম রয়েছে। আমি এটি জিওপ্যান্ডাস ব্যবহার করে কোনও মানচিত্রে প্লট করতে চাই এবং পয়েন্টগুলির আকার জিওডাটাফ্রেমের কোনও একটি কলামের সাথে মিলে যায়।

এখন পর্যন্ত আমার কাছে নিম্নলিখিত কোড রয়েছে:

base = world.plot(color='white', figsize=(20,10))
geo_df.plot(ax=base, marker='.', color='red', markersize = 
geo_df['Pop_2005'])
plt.xlim([-85, -60])
plt.ylim([-5, 12.5]);

তবে আমি নিম্নলিখিত ত্রুটি পাচ্ছি: TypeError: cannot convert the series to <class 'float'>

কোন ধারনা?


এটি কি সব কোড?
Fezter

মানচিত্র অঙ্কন করার জন্য সমস্ত কোড @ ফিজার। জিওডাটাফ্রেম তৈরির জন্য আরও কোড রয়েছে তবে এটি এখানে প্রাসঙ্গিক বলে মনে হয় না। এখানে কি খুব গুরুত্বপূর্ণ কিছু অনুপস্থিত? ধন্যবাদ।
হুয়ান ফ্রান্সিসকো সালদাররিগা

Pop_2005 এর ক্ষেত্রের প্রকারটি কী? এটা ভাসা না ইনট?
Fezter

3
এটি কি এমন হতে পারে যে আপনি কেবলমাত্র একটি একক চিহ্নিতকারী আকার নির্ধারণ করতে পারেন এবং এটি একটি একক ফ্লোট মান আশা করছে এবং কোন সিরিজ / তালিকা / টুপল বা ভাসমান নয়?
derNincompoop

1
এটি কি Pop_2005ভাসা বা পূর্ণসংখ্যায় স্পষ্টভাবে কাস্টিংয়ের পক্ষে উপযুক্ত হবে? geo_df['Pop_2005'] = geo_df['Pop_2005'].astype(float)
ওমেনার্স

উত্তর:


7

জিওপ্যান্ডাস> = 0.3 (সেপ্টেম্বর 2017 প্রকাশিত হয়েছে) এ, পয়েন্টের scatterপ্লটিং হুডের অধীনে ম্যাটপ্ল্লোলিবের প্লট পদ্ধতির উপর ভিত্তি করে তৈরি করা হয় এবং এটি একটি পরিবর্তনশীল মার্কারসাইজ গ্রহণ করে।

সুতরাং এখন আপনি আসলে একটি কলামটি পাস করতে পারবেন markersize, ওপ মূল প্রশ্নটিতে কী করেছে:

import geopandas

cities = geopandas.read_file(geopandas.datasets.get_path('naturalearth_cities'))
# adding a column with random values for the size
cities['values'] = np.abs(np.random.randn(len(cities))) * 50

cities.plot(markersize=cities['values'])

দেয়:

এখানে চিত্র বর্ণনা লিখুন

অবশ্যই, যদি আপনার লক্ষ্যটি চিহ্নিতকারীকে আলাদা ধ্রুবক মান হিসাবে পরিবর্তন করা হয় তবে আপনি কীওয়ার্ডটিতে একটি ফ্লোট পাস করতে পারেন:

cities.plot(markersize=10)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.