Рассмотрение фрейма данных testdataframe
testdataframe = pd.DataFrame(np.arange(12).reshape(4,3))
print(testdataframe)
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
Вы можете объединить styles
в один список строк, как в styles
, определенный ниже. Я также определю ширины линий в lws
styles=['bs-', 'ro-', 'y^-']
lws = [2, 1, 1]
. Мы можем использовать метод plot
в testdataframe
, передавая список styles
параметру style
. Обратите внимание, что мы могли бы также передавать словарь (и, возможно, другие вещи).
Однако ширина строк не так легко обрабатывается. Сначала я захватил объект AxesSubplot
и перебирал атрибут линий, устанавливающий ширину линии.
ax = testdataframe.plot(style=styles)
for i, l in enumerate(ax.lines):
plt.setp(l, linewidth=lws[i])
Чего вам не хватает, так это Async async = context.async();
. При этом юнит-тест остается в методе до тех пор, пока он не будет установлен для завершения. Затем вы можете организовать свой асинхронный код следующим образом:
Я также сделал некоторую очистку, проверьте ее:
BeforeClass
@BeforeClass
public static void before2(TestContext context){
Async async = context.async();
vertx = Vertx.vertx();
DeploymentOptions options = new DeploymentOptions();
byte[] encoded;
JsonObject config;
try {
encoded = Files.readAllBytes(Paths.get("src/main/resources/config.json"));
config = new JsonObject(new String(encoded, Charset.defaultCharset()));
options.setConfig(config);
jdbc = JDBCClient.createShared(vertx, config , "PostgreSQL");
deployVerticle2(options)
.compose(c -> loadTestData2(jdbc))
.setHandler(h -> {
if(h.succeeded()){
async.complete();
}else{
context.fail(h.cause());
}
});
} catch (IOException e){
context.fail(e);
}
}
DeployVerticle
[ 111]LoadTestData
private static Future<Void> loadTestData2(JDBCClient jdbc){
Future<Void> future = Future.future();
jdbc.getConnection(connection -> {
if (connection.succeeded()) {
connection.result().query(deleteTestDataGeneration, queryResult -> {
if(queryResult.failed()){
connection.result().close();
future.fail(queryResult.cause());
}else{
connection.result().close();
future.complete();
}
});
} else {
future.fail(connection.cause());
}
});
return future;
}