我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?
2024/7/24 23:02:43
本文主要是介绍我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大家好,我是Python进阶者。
一、前言
前几天在Python白银交流群【王者级混子】问了一个matplotlib作图的问题,问题如下:大佬们,我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?
二、实现过程
这里【论草莓如何成为冻干莓】给了一个指导,如下所示:这个是指旁边的颜色条吧,你搜一下都是一样的设置。
【王者级混子】:我搜了,都没达到我想要的要求。比如下面这个,感觉接近要求了,但是之后的数字会黏在一起。
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, .1) y = np.arange(0, 10, .1) X, Y = np.meshgrid(x,y) data = 2*( np.sin(X) + np.sin(3*Y) ) fig, ax = plt.subplots() contour = ax.contour(X, Y, data) cbar = fig.colorbar(contour, ax=ax) cbar.set_ticks(np.linspace(0, 10, 10)) # Set 6 ticks from 0 to 10 (inclusive) # cbar.set_ticklabels([f'{i:.1f}' for i in np.linspace(0, 10, 10)]) # Set tick labels cbar.ax.set_ylim(0, 10) # Set the limits of the colorbar plt.show()
【论草莓如何成为冻干莓】:应该是数据不够长。我把这个设置到里面的数据最大设置到10就可以显示数据条。
【王者级混子】:确实放到10没问题,主要我导师要求我在最大值为1的情况下,显示0到10的颜色棒。
import matplotlib.pyplot as plt import matplotlib.cm as cm # 创建一个新的图像和坐标轴,这次将颜色条显示在右侧 fig, ax = plt.subplots(1, 1, figsize=(10, 6)) # 创建一个 ScalarMappable 对象用于颜色条 sm = cm.ScalarMappable(cmap=plt.get_cmap('viridis')) sm.set_clim(0, 17) # 定义颜色条的层级(即刻度位置) levels = [0, 4, 8, 12, 17] # 使用 ScalarMappable 对象创建颜色条,并设置其显示在右侧 cbar = fig.colorbar(sm, ax=ax, orientation='vertical', label='Data Value', ticks=levels) # 显示图像 plt.show()
【王者级混子】:只能单独创建一个颜色棒放右边了,但这样又不好看。感觉没有这种好看。
【论草莓如何成为冻干莓】:你想要的就是这种的,你看他数据条上面也是有空白部分。
【王者级混子】:那个黄色的其实对应的就是17,我把之前绘制的图片搞成了gif,对比一下发现,颜色条都显示在那一半的地方;我查了一下,网上说plt.contour()它没法固定住。
【论草莓如何成为冻干莓】:没问题,符合你这个要求。
【王者级混子】:谢谢大佬,我再去研究研究,感觉差不多了。
【论草莓如何成为冻干莓】:其实就是把能够显示的值乘以两倍,这个17定的肯定不是突发奇想的。
【王者级混子】:17是所有数据中查到的最大值,0则是最小值。
顺利地解决了自己的问题。
如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!
三、总结
大家好,我是Python进阶者。这篇文章主要盘点了一个Python代码处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【王者级混子】提出的问题,感谢【论草莓如何成为冻干莓】给出的思路,感谢【莫生气】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
这篇关于我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20获取apk的md5值有哪些方法?-icode9专业技术文章分享
- 2024-11-20xml报文没有传 IdentCode ,为什么正常解析没报错呢?-icode9专业技术文章分享
- 2024-11-20如何知道代码有没有进行 Schema 验证?-icode9专业技术文章分享
- 2024-11-20Mycat教程:新手快速入门指南
- 2024-11-20WebSocket入门:轻松掌握WebSocket基础
- 2024-11-19WebSocket入门指南:轻松搭建实时通信应用
- 2024-11-19Nacos安装资料详解:新手入门教程
- 2024-11-19Nacos安装资料:新手入门教程
- 2024-11-19升级 Gerrit 时有哪些注意事项?-icode9专业技术文章分享
- 2024-11-19pnpm是什么?-icode9专业技术文章分享