我想通过添加白色背景使我的色条更清晰可见。我需要图像中的颜色条,这使得有时难以阅读。
以下是没有白色背景的代码。
class="active"
答案 0 :(得分:5)
以下是创建背景的解决方案:
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
a=np.random.rand(10,10)
fig=plt.figure()
ax=fig.add_axes([0,0,1,1])
im=ax.imshow(a)
cbbox = inset_axes(ax, '15%', '90%', loc = 7)
[cbbox.spines[k].set_visible(False) for k in cbbox.spines]
cbbox.tick_params(axis='both', left='off', top='off', right='off', bottom='off', labelleft='off', labeltop='off', labelright='off', labelbottom='off')
cbbox.set_facecolor([1,1,1,0.7])
cbaxes = inset_axes(cbbox, '30%', '95%', loc = 6)
cb=fig.colorbar(im,cax=cbaxes) #make colorbar
fig.show()
答案 1 :(得分:4)
public interface IA<M> where M<> : IB<>
{
M<T> Foo1<T>(T val);
M<T> Foo2<T>();
}
public interface IB<T>
{
T Bar();
}
public interface IA1 : IA<IB1> {}
public interface IB1<T> : IB<T>
{
void Bar1();
}
public interface IA2 : IA<IB2> {}
public interface IB2<T> : IB<T>
{
void Bar2(T val);
}
public void MyFunc()
{
IA1 myA1 = GetMyA1();
IB1<int> myB1Int = myA1.Foo1<int>(2);
int myB1IntBar = myB1Int.Bar();
myB1Int.Bar1();
IB1<string> myB1String = myA1.Foo2<string>();
string myB1StringBar = myB1String.Bar();
IA2 myA2 = GetMyA2();
IB2<string> myB2 = myA2.Foo1<string>("Hello World");
string myB2StringBar = myB2.Bar();
myB2.Bar2("Value");
}
是patch
,因此您需要将edge color设置为白色。 set_color
不起作用的原因是因为它将两者的脸部和边缘颜色设置为白色。
colorbar
如果您希望 的标签为白色,则需要为这些标签设置滴答参数。
cb.outline.set_edgecolor('white')
cb.outline.set_linewidth(2)
答案 2 :(得分:0)
请注意,自@Hagne发布答案以来,API已更改为关闭刻度线。
您现在需要传递False
,而不是off
。由于API没抱怨-只是没用
cbbox.tick_params(
axis = 'both',
left = False,
top = False,
right = False,
bottom = False,
labelleft = False,
labeltop = False,
labelright = False,
labelbottom = False
)