fig_points, = plt.plot ([], []) python [duplicate]

Просто для того, чтобы четко указать что-то явно:

Основной поток - это в основном поток пользовательского интерфейса.

Так что, говоря, что вы не можете выполнять сетевые операции в основном потоке, вы не можете создавать сети операции в потоке пользовательского интерфейса, что означает , вы не можете выполнять сетевые операции в блоке *runOnUiThread(new Runnable() { ... }* внутри некоторого другого потока.

(у меня был только длинный момент царапин на голове пытаясь понять, почему я получал эту ошибку где-то, кроме моего основного потока. Вот почему, этот поток помог, и, надеюсь, этот комментарий поможет кому-то другому.)

9
задан user2418838 23 March 2014 в 06:43
поделиться

3 ответа

plt.plot возвращает список объектов Line2D, нанесенных на график, даже если вы построили только одну строку.

Эта запятая распаковывает одно значение в line.

ex

a, b = [1, 2]
a, = [1, ]
9
ответ дан tacaswell 25 August 2018 в 17:13
поделиться

Возвращаемое значение функции является кортежем или списком, содержащим один элемент, и этот синтаксис «распаковывает» значение из кортежа / списка в простую переменную.

2
ответ дан kindall 25 August 2018 в 17:13
поделиться

Метод plot возвращает объекты, содержащие информацию о каждой строке в графике в виде списка. В python вы можете развернуть элементы списка с запятой. Например, если вы построили две строки, вы должны сделать:

line1, line2 = plt.plot(x,y,'-',x,z,':')

Где line1 будет соответствовать x,y, а строка2 соответствует x,z. В вашем примере есть только одна строка, поэтому вам нужна запятая, чтобы сообщить ей о расширении списка из 1 элемента. То, что у вас есть, эквивалентно

line = plt.plot(x,y,'-')[0]

или

line = ply.plot(x,y,'-')
line = line[0]

Ваш код должен работать, если вы опустите запятую, только потому, что вы не используете line. В вашем простом примере plt.plot(x,y,'-') будет достаточно.

6
ответ дан SethMMorton 25 August 2018 в 17:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: