Позвольте мне использовать сценарий оболочки Linux для копирования данных таблицы с одного сервера на другой сервер PostgreSQL.
Ссылка, взятая из этого блога:
Linux Bash Shell Script для переноса данных между серверами PostgreSQL:
#!/bin/bash
psql \
-X \
-U user_name \
-h host_name1 \
-d database_name \
-c "\\copy tbl_Students to stdout" \
| \
psql \
-X \
-U user_name \
-h host_name2 \
-d database_name \
-c "\\copy tbl_Students from stdin"
Я просто переношу данные; создайте пустую таблицу на сервере назначения / второго сервера базы данных.
Это скрипт утилиты. Кроме того, вы можете изменить сценарий для общего использования, например, путем добавления параметров для имени_мастера, имени_базы_данных, table_name и других
Вам необходимо получить доступ к объекту legend()
и использовать set_text()
для изменения текстовых значений, простой пример:
plt.plot(range(10), label='Some very long label')
plt.plot(range(1,11), label='Short label')
L=plt.legend()
L.get_texts()[0].set_text('make it short')
plt.savefig('temp.png')
В вашем случае вы меняете первый элемент в легенде, я вполне уверен, что индекс 0
в L.get_texts()[0]
относится и к вашей проблеме.
Ответ работами ksindi для установки маркировок, но поскольку некоторые другие прокомментировали, это может повредить цвета легенды при использовании с seaborn (в моем случае scatterplot: точки и текст приводили в порядок не строку правильно больше). Для решения этого также передайте дескрипторы ax.legend.
# the legend has often numbers like '0.450000007', the following snippet turns those in '0.45'
label_list = []
for t in ax.get_legend_handles_labels():
# the first result will be all handles, i.e. the dots in the legend
# the second result will be all legend text
label_list.append(t)
new_list = []
for txt in label_list[1]:
if txt[0] == '0':
txt = str(txt)[:4]
new_list.append(txt)
label_list[1] = new_list
ax.legend(handles=label_list[0], labels=label_list[1])
(я отправил бы это как комментарий, но еще не иметь достаточной репутации)