ggplot(faithfuld, aes(eruptions, waiting)) + geom_contour(aes(z = density, colour = factor(..level.. == 0.02, levels = c(F, T), labels = c("Others", "0.02"))), breaks = 0.005*0:10) + scale_colour_manual(values = c("black", "red")) + labs(colour = "Of interest:")
Это довольно расширяемый способ сделать это. Все значения «FALSE» для
..level.. == 0.02
будут отображаться как черные, а «TRUE» - красным. Чтобы это правильно работало, мне нужно было установить разрывы в соответствии с точно 0,02 (и другие кратные 0,05), что и делаетbreaks =
.
По умолчанию aiohttp
ограничивает количество одновременных подключений до 100
. Это достигается путем установки по умолчанию limit
на TCPConnector
объекта , который используется ClientSession
. Вы можете обойти это, создав и передав пользовательский соединитель сеансу:
connector = aiohttp.TCPConnector(limit=None)
async with aiohttp.ClientSession(connector=connector) as session:
# ...
Обратите внимание, что вы, вероятно, не хотите устанавливать это число слишком высоким: емкость вашей сети, ЦП, ОЗУ и целевой сервер имеют свои собственные ограничения и попытка установить огромное количество соединений может привести к увеличению отказов.
Оптимальное число, вероятно, может быть найдено только с помощью экспериментов на конкретной машине.
Не связано:
Вам не нужно создавать задачи без причины . Большинство asyncio api принимают регулярные сопрограммы. Например, ваши последние строки кода могут быть изменены следующим образом:
loop = asyncio.get_event_loop()
loop.run_until_complete(run(url_list))
Или даже просто asyncio.run(run(url_list))
( doc ), если вы используете Python 3.7