1
我需要在同一頁面上創建多個等值線的多個變量。我可以用MATLAB來做到這一點(參見下面的MATLAB代碼)。我無法讓matplotlib顯示多個圖例。任何幫助將非常感激。Matplotlib:多個輪廓變量的等值線圖的多個圖例
Python代碼:
import numpy as np
from matplotlib import cm as cm
from matplotlib import pyplot as plt
delta = 0.25
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = X*np.exp(-X**2-Y**2)
Z2 = Y*np.exp(-X**2-Y**2)
plt.figure()
CS = plt.contour(X, Y, Z1, colors='k')
plt.clabel(CS, inline=1, fontsize=10)
CS = plt.contour(X, Y, Z2, colors='r')
plt.clabel(CS, inline=1, fontsize=10)
plt.legend(['case 1', 'case 2'])
plt.show()
MATLAB代碼:
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z1 = X.*exp(-X.^2-Y.^2);
Z2 = Y.*exp(-X.^2-Y.^2);
[C,h] = contour(X,Y,Z1, 'color', 'k');
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2);
hold on
[C,h] = contour(X,Y,Z2, 'color', 'r');
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2);
fn = {'case 1', 'case 2'};
legend(fn,'Location','NorthWest');
Rutger,非常感謝。這正是我所期待的。 – James 2013-05-10 20:06:35
@RutgerKassies,你介意看看我的這個問題嗎? http://stackoverflow.com/questions/24830954/contour-plot-legent-matplotlib它類似於那個,但我不能保證你有負面和正面的水平。謝謝。 – pceccon 2014-07-18 18:22:03