在Python中自定义颜色栏(截断并添加更多颜色)
我是Python新手。你能帮我定制一下颜色条吗。我已经尝试过网络上的几种变体,但它们不能正常工作。我有以下带有颜色条的图表: 代码如下:在Python中自定义颜色栏(截断并添加更多颜色),python,matplotlib,customization,contour,colorbar,Python,Matplotlib,Customization,Contour,Colorbar,我是Python新手。你能帮我定制一下颜色条吗。我已经尝试过网络上的几种变体,但它们不能正常工作。我有以下带有颜色条的图表: 代码如下: set_cmap('rainbow') contourf(0.5*(data1+data2)) xlabel (r'across track $\rm\,[pixels]$') ylabel (r'along track $\rm\,[pixels]$') cbar = plt.colorbar() cbar.set_label('radiance', r
set_cmap('rainbow')
contourf(0.5*(data1+data2))
xlabel (r'across track $\rm\,[pixels]$')
ylabel (r'along track $\rm\,[pixels]$')
cbar = plt.colorbar()
cbar.set_label('radiance', rotation=270)
title('1.6 mue (avg: 5992-6012 cm^(-1))')
# Show the major grid lines
plt.grid(b=True, which='major', color='#666666', linestyle='-')
# Show the minor grid lines
plt.minorticks_on()
plt.grid(b=True, which='minor', color='#666666', linestyle='-', alpha=0.4)`fig=plt.figure()
我需要将颜色栏截断为0到9之间的值,即0,1,2,3,4,5,6,7,8,9,并为每个值创建新颜色
诸如cbar=plt.clim(0,9)之类的p.S.命令不起作用
提前谢谢 使用
levels=
可以告诉tourtf
哪些值需要新的级别。在这种情况下,选择levels=0,1,2,…,9似乎可以达到您想要的效果
请注意,颜色是在调用contourf
时确定的。函数colorbar
只是尝试可视化所使用的颜色
下面的代码首先创建一些介于0和20之间的随机数据,异常值为50。对tourtf
的默认调用与显式设置的levels
进行比较
导入matplotlib.pyplot作为plt
从matplotlib.patches导入椭圆
将numpy作为np导入
N、 M=100300
x=np.随机.均匀(-0.1,0.1,(N,M)).cumsum(轴=1).cumsum(轴=0)
x-=x.min()
x*=20/x.最大值()
x[-1,-1]=50
图(ax1,ax2)=plt.子批次(ncols=2,figsize=(12,4))
cont1=ax1.contourf(x,cmap='rainbow')
打印颜色条(续1,ax=ax1)
cont2=ax2.contourf(x,levels=np.arange(10),cmap='rainbow')
打印颜色条(续2,ax=ax2)
plt.show()
@JohanC终于成功了!非常感谢!!;)如果这回答了你的问题,你可能会考虑投票和/或答案。