Контекст
Я пытаюсь отобразить некоторые данные синхронизации различных алгоритмов, которые зависят от некоторого входного размера и другого параметра. Цель состоит в том, чтобы иметь n графиков, показывающих различные алгоритмы, и один сводный график.
графики алгоритмов имеют оси от параметра до времени выполнения и разные линии для каждого размера входных данных, в то время как сводный график показывает размер ввода для минимального времени выполнения (параметр выбран оптимально). Проблема
Для этого у меня есть следующий код
import matplotlib.pyplot as plt
import matplotlib.patheffects as pe
data = {
"Case1": {
10: ([10,20,30], [ 100, 20, 80 ]),
1000: ([10,20,30], [ 200, 40, 100 ]),
},
"Case2": {
10: ([10,20,30], [ 50, 60, 70 ]),
1000: ([10,20,30], [ 100, 200, 300 ]),
}
}
minimum_data = {
"Case1": ([10,1000],[20, 40]),
"Case2": ([10,1000],[50, 100])
}
minimum = 10
maximum = 400
plot_count = 2 + 1
fig, axs = plt.subplots(1, plot_count, figsize=(6*plot_count, 6), sharey=True)
*individual_plots, group_plot = axs
for ax, ( category, grouped ) in zip( individual_plots, data.items() ):
for group, datum in grouped.items():
ax.loglog(datum[0], datum[1])
ax.text(datum[0][0], datum[1][0], f'size {group}', path_effects=[pe.withStroke(linewidth=4, foreground="white")])
ax.set_aspect("equal", adjustable="box")
ax.set_xlabel("parameter")
ax.set_ylabel("total")
ax.set_title(category)
ax.set_ylim([minimum,maximum])
for category, data in minimum_data.items():
group_plot.loglog(data[0], data[1], label=category)
group_plot.set_aspect("equal", adjustable="box")
group_plot.set_xlabel("size")
group_plot.set_ylabel("total")
group_plot.set_title("minimal totals")
group_plot.set_ylim([minimum,maximum])
fig.legend(
title="categories",
loc='outside center right'
)
plt.show()
Это приводит к чему-то вроде
[img]https://i. sstatic.net/bmKtLqcU.png[/img]
Там, где подграфики расположены слишком далеко друг от друга и общая ось Y не работает.
Растяжка фигуры "исправляет" общая ось Y, но ухудшает интервал.
И наоборот, уменьшение изображения приводит к обратному результату.
Вопрос
Как Сохраню ли я общую ось Y и сделаю ли поля между разными графиками идентичными? (Также работает более чем на 3 участках)
[b]Контекст[/b] Я пытаюсь отобразить некоторые данные синхронизации различных алгоритмов, которые зависят от некоторого входного размера и другого параметра. Цель состоит в том, чтобы иметь n графиков, показывающих различные алгоритмы, и один сводный график. графики алгоритмов имеют оси от параметра до времени выполнения и разные линии для каждого размера входных данных, в то время как сводный график показывает размер ввода для минимального времени выполнения (параметр выбран оптимально). [b]Проблема[/b] Для этого у меня есть следующий код [code]import matplotlib.pyplot as plt import matplotlib.patheffects as pe
fig.legend( title="categories", loc='outside center right' ) plt.show() [/code] Это приводит к чему-то вроде [img]https://i. sstatic.net/bmKtLqcU.png[/img]
Там, где подграфики расположены слишком далеко друг от друга и общая ось Y не работает. Растяжка фигуры "исправляет" общая ось Y, но ухудшает интервал. [img]https://i.sstatic.net/TMBFnRuJ.png [/img]
И наоборот, уменьшение изображения приводит к обратному результату. [img]https://i.sstatic.net/J0TUes2C.png[/img]
[b]Вопрос[/b] Как Сохраню ли я общую ось Y и сделаю ли поля между разными графиками идентичными? (Также работает более чем на 3 участках)
Я использую perf4j для ведения журнала производительности.
указывает, что вы используете aop.xml , чтобы определить, какой аспект вы хотите, чтобы вас вызвали в Время компиляции в зависимости от того, в зависимости от того, какую систему...
Я использую аспектно-ориентированное программирование в своей микросервисной архитектуре. Существует один общий модуль, который используется в качестве зависимости в других приложениях микросервисов. Теперь у этого общего класса есть мой аспектный...
В моем приложении Quarkus java 21 Lambda Function я следую за этапами установки для библиотеки PowerTools Java ( dev.aspectj: AspectJ-Maven-Plugin: 1.13.1: Compile (по умолчанию) на проекте Lambda-java-Quarkus-template: AJC Компиляторы:
В моем приложении Quarkus java 21 Lambda Function я следую за этапами установки для библиотеки PowerTools Java ( dev.aspectj: AspectJ-Maven-Plugin: 1.13.1: Compile (по умолчанию) на проекте Lambda-java-Quarkus-template: AJC Компиляторы: