Как я могу использовать свободно масштабируемую цветовую панель для трех контурных графиков с помощью matplotlib? [дублиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу использовать свободно масштабируемую цветовую панель для трех контурных графиков с помощью matplotlib? [дубли

Сообщение Anonymous »

Я пытаюсь получить из своего проекта машинного обучения графику для печати. Поэтому я хотел бы показать влияние одной переменной (c) на трех различных контурных графиках (y над x) на зависимую переменную (L). Минимальное значение должно быть 0,5, максимальное — 1,3.
Мой код приведен ниже

Код: Выделить всё

# For Stack overflow
# width & dimension of plot
total_width_mm = 190
total_width_inch = total_width_mm / 25.4
subplot_width_inch = total_width_inch /3
subplot_height_inch = subplot_width_inch

total_height_inch = subplot_height_inch

# Figure
fig, axes = plt.subplots(
nrows=1, ncols=3, figsize=(total_width_inch, total_height_inch)
)

# Scale
vmin, vmax = 0.5 , 1.3

# Contourplots
cb = axes[0].contourf(X_grid, Y_grid, L_grid_up, levels=20, cmap='viridis', vmin=vmin, vmax=vmax)
axes[1].contourf(X_grid, Y_grid, L_grid_mid, levels=20, cmap='viridis', vmin=vmin, vmax=vmax)
axes[2].contourf(X_grid, Y_grid, L_grid_low, levels=20, cmap='viridis', vmin=vmin, vmax=vmax)

# Tilte & Axes
axes[0].set_title("c = 50")
axes[1].set_title("c = 150")
axes[2].set_title("c = 250")

axes[0].set_ylabel("y")
axes[1].set_xlabel("x")

axes[1].set_ylabel('')
axes[1].set_yticklabels([])

axes[2].set_ylabel('')
axes[2].set_yticklabels([])

# Colorbar
fig.subplots_adjust(right=0.85)
cbar_ax = fig.add_axes([0.87, 0.15, 0.03, 0.7])  # Position der Farbskala
colorbar = fig.colorbar(cb, cax=cbar_ax, label="L")

# Subplots "a", "b", "c"
labels = ["a)", "b)", "c)"]
for ax, label in zip(axes, labels):
ax.text(
-0.1, 1.1, label, transform=ax.transAxes, fontsize=12, fontweight='bold',
va='top', ha='left'
)

plt.show()
Я получаю этот результат
Выходная цветовая панель
Я надеялся получить полномасштабную цветовую панель из от vmin до vmax
Я нашел этот вопрос: Как иметь одну цветовую полосу для всех подграфиков
Однако мне не удалось использовать пути вперед. Что бы я ни делал, цветная полоса ограничена минимальными и максимальными значениями первого подсюжета. Изменение порядка подграфиков в другом порядке было бы неуместным.
Что я делаю неправильно, указывая колобар?

Подробнее здесь: https://stackoverflow.com/questions/793 ... matplotlib
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»