당신이 w/O를 sns.heatmap
을 수행 견딜 수있는 경우는이 작업을 수행하는 것이 아마도 더 자연 pcolormesh
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np
C_vals = np.logspace(3, 10, 8)
g_vals = np.logspace(-6, 2, 9)
score = np.random.rand(len(g_vals),len(C_vals))
fig, ax = plt.subplots()
ax.pcolormesh(C_vals, g_vals, score)
ax.set_yscale('log')
ax.set_xscale('log')
plt.show()
아래와 같이 pcolormesh
은 같은 방법으로 가운데에 있지 않습니다. 또한, 실제로 레벨을 떨어 뜨립니다. 해당 동작을 변경하려면 PR이 있어야하지만 해결 방법이 있습니다. 나는이 시점에서 인정한다. 그 출력은 heatmap
출력보다 엉망이다.
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np
C_vals = np.logspace(3, 10, 8)
g_vals = np.logspace(-6, 2, 9)
# make bracketing:
def midpointext(x):
return np.hstack((1.5 * x[0] - 0.5 * x[1],
x[:-1] + 0.5 * np.diff(x),
1.5 * x[-1] - 0.5 * x[-2]))
newC = np.log10(C_vals)
newC = midpointext(newC)
newC = 10**newC
newg = np.log10(g_vals)
newg = midpointext(newg)
newg = 10**newg
score = np.random.rand(len(g_vals),len(C_vals))
fig, ax = plt.subplots()
ax.pcolormesh(newC, newg, score)
ax.set_yscale('log')
ax.set_xscale('log')
plt.show()
아름다운, 그게 내가 원하는 것을 정확히! – German