流图的颜色范围

发布于 2025-01-11 01:42:33 字数 207 浏览 0 评论 0原文

我需要创建一个带有颜色条的流图,指示给定线的速度。问题是,我的速度数据中有 2 个点的值过高,完全重新调整了颜色条的比例,而且我无法真正删除它们。

我已经搜索了在不修改数据的情况下阻止它的方法(例如 cmin、Vmin、Vmax...),但似乎 Streamplot 没有这方面的功能...

所以有没有办法添加限制到流图中的 cmap ?

I need to create a streamplot with a colorbar indicating the speed of a given line. The thing is, there's 2 points in my speed data with excessive value, totally rescaling the scale of the colorbar, and I can't really erase them.

I've searched way to prevent it without modifying the data (like with cmin, Vmin, Vmax...), but it seems streamplot doesn't have function for this...

So is there a way to add limits to the cmap in a streamplot ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半衾梦 2025-01-18 01:42:33

我认为这应该有帮助。

## import matplotlib 
matplotlib as mpl

## Set colormap for the colorbar
cmap = mpl.cm.rainbow

#### Use norm to set you vmax and vmin
norm = mpl.colors.Normalize(vmin=0, vmax=35)

## Pass norm as argument while plotting
strm = ax.streamplot(x=ds["longitude"],y=ds["latitude"], u=ds["u"], v=ds["v"], color=ds.u.values, linewidth=1, cmap='rainbow', density=0.6, norm=norm)

fig.colorbar(strm.lines, label = 'wind speed [m$^2$]', shrink=0.6)

I think this should help.

## import matplotlib 
matplotlib as mpl

## Set colormap for the colorbar
cmap = mpl.cm.rainbow

#### Use norm to set you vmax and vmin
norm = mpl.colors.Normalize(vmin=0, vmax=35)

## Pass norm as argument while plotting
strm = ax.streamplot(x=ds["longitude"],y=ds["latitude"], u=ds["u"], v=ds["v"], color=ds.u.values, linewidth=1, cmap='rainbow', density=0.6, norm=norm)

fig.colorbar(strm.lines, label = 'wind speed [m$^2$]', shrink=0.6)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文