【问题标题】:Customizing the limits on the matplotlib colorbar自定义 matplotlib 颜色栏的限制
【发布时间】:2020-05-25 14:13:21
【问题描述】:

我有一个将浓度绘制为 z 值的数据集。请注意颜色栏中的奇数限制,这些限制映射到 z 值的限制。我想要的是让颜色条限制从 0 到某个最大值(逻辑上是超出 z_max 的第一个舍入整数)。

plot of concentrations

这里是sn-p的代码:

from numpy import *
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
.
.
.

monthly_concentration_array=master_yearly_df.to_numpy()
year_axis_values=master_yearly_df.index.to_numpy()
month_numbers=arange(12)

fig,ax=plt.subplots(figsize=(10,15))

contour_plot=ax.contourf(month_numbers,
    year_axis_values,monthly_concentration_array,levels=40,cmap='rainbow')
colour_bar=fig.colorbar(contour_plot)

我天真地使用了

colour_bar.set_clim(0,5)

但我收到了弃用警告:

Matplotlib 弃用警告: set_clim 函数在 Matplotlib 3.1 中已弃用,将在 3.3 中删除。请改用 ScalarMappable.set_clim。

另一个帖子建议这样做

colour_bar.mappable.set_clim(0,5)

但这没有用。我很困惑,因为绝大多数帖子等都早于 matplotlib 3.1,遗憾的是我没有足够的底层经验来理解参考资料 “改用 ScalarMappable.set_clim”的意思。

那么,当数据仅从 0.15 变为 4.7 时,设置颜色条限制以使比例从 0 变为 5 的正确当前方法是什么?

非常感谢!

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    您可以在ax.contourf() 中添加选项vmin=0, vmax=5,它将覆盖默认的颜色缩放。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 2021-05-03
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多