Совместное использование атрибутов контурного графика между вспомогательными участками

StackOverflow https://stackoverflow.com/questions/1640636

  •  08-07-2019
  •  | 
  •  

Вопрос

Я строю несколько контурных графиков рядом для визуализации эволюции определенной функции во времени. Я хочу, чтобы значение и цвет каждого контура были общими для всех вспомогательных участков, но каждый раз, когда я добавляю новый вспомогательный участок, значения контуров пересчитываются (как показано на рисунке ниже), поэтому любое сравнение между ними не имеет смысла.

Контурные графики с цветными полосами http://www.inf.utfsm.cl/~rbonvall/colorbar-and-contour-plots.png

Я попытался вручную установить различные комбинации атрибутов cmap , colorbar и axes в каждом экземпляре подплота, но безуспешно. Как я могу разделить атрибуты контурного графика между всеми вспомогательными участками? Другими словами, как получить одинаковую цветовую шкалу для всех участков?

Это было полезно?

Решение

Вы можете напрямую указать значения контура, которые будут использоваться в контурном графике. Вот пример:

 alt text

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-1.2, 1.2, .025)
y = np.arange(-1.2, 1.2, .025)
X, Y = np.meshgrid(x, y)
Z = np.cos(X)*np.cos(Y)
Z = Z*Z

plt.subplot(1,2,1)
CS = plt.contour(X, Y, Z)   # set levels automatically
plt.clabel(CS, inline=1, fontsize=10)
plt.subplot(1,2,2)
CS = plt.contour(X, Y, Z-.1, CS.levels)  # set levels as previous levels
plt.clabel(CS, inline=1, fontsize=10)
plt.show()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top