#python #pandas #matplotlib
Вопрос:
Я пытаюсь построить некоторые точки и линии, используя matplotlib в python. Сюжет создан, как и ожидалось, однако, когда я строю с использованием панд, плотная компоновка не работает. Есть некоторая горизонтальная обивка.
Без Использования Панд:
Вот код:
import matplotlib.pyplot as plt
import numpy as np
import geopandas as gpd
import shapely
import shapely.wkt
np_points=np.array([[72.86009142, 29.64570243],
[72.85274575, 29.78470986],
[72.93887416, 29.71148897],
[72.83244904, 29.75750026],
[72.90035624, 29.70708829],
[73.00605427, 29.80544062],
[72.94799582, 29.67417403],
[72.73562998, 29.4550647 ],
[72.76805617, 29.69165799],
[73.13370963, 29.69718494],
[72.922815 , 29.77253796]])
data={'gid': 1,
'geometry': shapely.wkt.loads('MULTILINESTRING ((72.8626261872615
29.6481953436182, 72.8635141595275 29.6481903937668), (72.8635141595275
29.6481903937668, 72.8643668607309 29.6481856405281))')
}
df=gpd.GeoDataFrame([data],crs='epsg:4326').set_index('gid')
fig, ax = plt.subplots(tight_layout=True)
plt.ion()
##showing plot in full screen
manager = plt.get_current_fig_manager()
manager.window.showMaximized()
ax.plot(np_points[1:,0], np_points[1:,1], 'ro',markersize=8,label ='A')
ax.plot(np_points[[1,2]][:,0], np_points[[1,2]][:,1],
'ro',color='green',markersize=10,label ='B')
df.plot(ax=ax,color='b',linestyle='-',linewidth=1)
Комментарии:
1. Помогает ли добавление
plt.tight_layout()
в конце вместо использованияplt.subplots(tight_layout=True)
? Или явно позвонитьplt.show()
в самом конце?2. Я попробовал и то, и другое, но при построении этой линии возникла одна и та же проблема.
3. Возможно, вам захочется включить некоторые тестовые данные для x и y и добавить импорт, чтобы создать минимальный жизнеспособный пример. Это увеличило бы вероятность того, что другие люди попытаются воспроизвести ваш код. Пожалуйста, подтвердите, что вы используете последние версии pandas и matplotlib. Поскольку панды просто создают очень тонкий слой в направлении matplotlib, проблема, которую вы описываете, очень маловероятна.
4. Я добавил примеры данных.
5. Какую среду вы используете? Какой бэкэнд matplotlib? (Значение по умолчанию выдает ошибку
AttributeError: '_tkinter.tkapp' object has no attribute 'showMaximized'
.