我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?

Python进阶者
• 阅读 304

大家好,我是Python进阶者。

一、前言

前几天在Python白银交流群【王者级混子】问了一个matplotlib作图的问题,问题如下:大佬们,我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?

我用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就可以显示数据条。

我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?

【王者级混子】:确实放到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()

【王者级混子】:只能单独创建一个颜色棒放右边了,但这样又不好看。感觉没有这种好看。

【论草莓如何成为冻干莓】:你想要的就是这种的,你看他数据条上面也是有空白部分。

我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?

【王者级混子】:那个黄色的其实对应的就是17,我把之前绘制的图片搞成了gif,对比一下发现,颜色条都显示在那一半的地方;我查了一下,网上说plt.contour()它没法固定住。

【论草莓如何成为冻干莓】:没问题,符合你这个要求。

【王者级混子】:谢谢大佬,我再去研究研究,感觉差不多了。

【论草莓如何成为冻干莓】:其实就是把能够显示的值乘以两倍,这个17定的肯定不是突发奇想的。

【王者级混子】:17是所有数据中查到的最大值,0则是最小值。

顺利地解决了自己的问题。

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Python代码处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【王者级混子】提出的问题,感谢【论草莓如何成为冻干莓】给出的思路,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

我用plt.contour()怎么把颜色棒区间显示区间设定为0~17呀?

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
1年前
虽然代码运行了,但其中的值为什么没有发生变化呀?
大家好,我是皮皮。一、前言前几天在Python白银交流群【王者级混子】问了一个Pandas处理的问题,这里拿出来给大家分享下。下面是粉丝自己写的代码:二、实现过程看上去是挺难的,又是数据,又是代码的,不过不慌,这里【论草莓如何成为冻干莓】指出了问题所在,原
Python进阶者 Python进阶者
1年前
为啥我请求那里都写了异常捕获了,还是报这个错?
大家好,我是皮皮。一、前言前几天在Python白银交流群【喜靓仔】问了一个Python异常处理的问题,这里拿出来给大家分享下。二、实现过程这里粉丝给的信息十分有限,看问题其实还是挺难的,【论草莓如何成为冻干莓】给了一个指导。尝试进行断点定位问题:然后就找到
Python进阶者 Python进阶者
1年前
Pyecharts是空白的不出图,怎么肥四?
大家好,我是皮皮。一、前言前几天在Python白银群【Lannozhang】问了一个Python作图的问题,这里拿出来给大家分享下。他的代码截图如下:二、实现过程这里【论草莓如何成为冻干莓】、【此类生物】指出拿到的数据需要强转为int类型才可以。其实他本身
Python进阶者 Python进阶者
1年前
pandas如何将下图这个数据格式,改为%Y-%m-%d这种格式的?
大家好,我是皮皮。一、前言前几天在Python白银交流群【小王子】问了一个Python日期处理的问题,一起来看看吧。原始数据库中的数据如下所示:二、实现过程这里【袁学东】给了一个方法,代码如下所示:pythondf这里【论草莓如何成为冻干莓】给了一个思路,
Python进阶者 Python进阶者
12个月前
这个代码运行后打开网站一片空白怎么解决
大家好,我是皮皮。一、前言前几天在Python白银交流群【乔.】问了一个Pythonweb开发的问题,一起来看看吧。他的报错内容如下所示:二、实现过程这里【论草莓如何成为冻干莓】给了一个思路:index.html这个文件中没有内容,只有标题。你放点内容进去
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Python进阶者 Python进阶者
6个月前
有没有大佬知道这种数据应该怎么抓取呀?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【王者级混子】问了一个Python网络爬虫的问题。问题如下:有没有大佬知道这种数据应该怎么抓取呀?我鼠标移到上面才会出现的数据。二、实现过程这里【Crazy】和【此类生物】给了一个指导。
Python进阶者 Python进阶者
6个月前
这种运行结果里的10.100000001,怎么能最快改成10.1?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【无敌劈叉小狗】问了一个Python基础的问题。问题如下:这种运行结果里的10.100000001,怎么能最快改成10.1,所有结果都最多一位小数。二、实现过程这里【论草莓如何成为冻干莓
Python进阶者 Python进阶者
4个月前
python项目导入上级目录设置”的setting.json是不是哪里还有错误呀?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【王者级混子】问了一个Python代码处理的问题,问题如下:大佬们,我想问问我抄网上“vscode运行python项目导入上级目录设置”的setting.json是不是哪里还有错误呀?还
Python进阶者 Python进阶者
3个月前
装anaconda默认下载路径在d盘,现在想用ipython的时候用不了了咋办?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【041】问了一个Python环境的问题,问题如下:我当初装anaconda的时候浏览器默认下载路径在d盘,现在想用ipython的时候用不了了咋办?二、实现过程这里【论草莓如何成为冻干