При работе с визуализацией данных с использованием библиотеки USMap в Python географические регионы обычно помечаются названиями. Однако в некоторых сценариях может оказаться более целесообразным обозначать их цифрами. В этой статье мы рассмотрим несколько методов достижения этой цели, сопровождаемые примерами кода. Давайте погрузимся!
Метод 1: использование числовых данных в качестве меток
Один простой подход — напрямую использовать числовые данные в качестве меток для регионов на USMap. Вот пример использования USMap и Matplotlib:
import usmap
import matplotlib.pyplot as plt
# Create a numeric label mapping
label_mapping = {
'New York': 1,
'California': 2,
'Texas': 3,
# Add more regions and corresponding numbers as needed
}
# Create the map
fig, ax = plt.subplots()
usmap.plot_state_labels(ax=ax, label_mapping=label_mapping)
# Customize the map appearance (optional)
usmap.plot_usmap(ax=ax)
plt.title('Numeric Labeling on USMap')
plt.show()
Метод 2: преобразование чисел в метки
Другой подход заключается в преобразовании числовых данных в соответствующие метки с помощью сопоставления. Это может быть полезно, если у вас есть отдельный набор данных с числовыми значениями, которые необходимо пометить. Вот пример:
import usmap
import matplotlib.pyplot as plt
# Suppose you have a dataset with numeric values
numeric_data = {
'New York': 10,
'California': 20,
'Texas': 30,
# Add more regions and corresponding numbers as needed
}
# Convert numeric data to labels
label_mapping = {region: f'Label {value}' for region, value in numeric_data.items()}
# Create the map
fig, ax = plt.subplots()
usmap.plot_state_labels(ax=ax, label_mapping=label_mapping)
# Customize the map appearance (optional)
usmap.plot_usmap(ax=ax)
plt.title('Numeric Data to Labels on USMap')
plt.show()
Метод 3: масштабирование числовых значений
Если ваши числовые данные имеют широкий диапазон, вы можете масштабировать их до меньшего диапазона, чтобы обеспечить разборчивость. Вот пример использования библиотеки scikit-learn:
import usmap
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
# Suppose you have a dataset with numeric values
numeric_data = {
'New York': 1000,
'California': 5000,
'Texas': 10000,
# Add more regions and corresponding numbers as needed
}
# Scale numeric values to a smaller range
scaler = MinMaxScaler(feature_range=(1, 10))
scaled_values = scaler.fit_transform(list(numeric_data.values()))
# Create the map
fig, ax = plt.subplots()
usmap.plot_state_labels(ax=ax, label_mapping=dict(zip(numeric_data.keys(), scaled_values)))
# Customize the map appearance (optional)
usmap.plot_usmap(ax=ax)
plt.title('Scaled Numeric Labeling on USMap')
plt.show()
В этой статье мы рассмотрели три различных метода маркировки чисел вместо имен с помощью USMap в Python. Непосредственно используя числовые данные, преобразуя числа в метки или масштабируя числовые значения, вы можете добиться желаемой визуализации. Поэкспериментируйте с этими методами, чтобы эффективно передавать числовую информацию в визуализациях USMap.