python - 不同的颜色代表不同的值范围

标签 python matplotlib

我有两个数组,txt 是自变量,x 计算如下t 的函数。

我可以轻松地绘制它们,例如,

from pylab import *
t = linspace(o, 2*pi, 201)
x = sin(t)
plot(t, x)

但我想要的是不同的,因为在我的领域,当 abs(x)>0.9 失败的概率从 0.000001% 增加到 99.999999% 我想用亮红色绘制曲线中我的系统可能出现故障的部分。

我可以想象两种可能的解决方案。

  • 绘制两个屏蔽数组
  • 用彩色 map 玩把戏

但我不知道是否有不同的、更好的可能性,但我不知道如何实现解决方案......

最佳答案

Matplotlib 的 plot 函数不支持颜色图。这给我们留下了“绘制两个屏蔽数组”的选项 - 这是一个很好的选项。

最简单的选择是在完整图的顶部绘制一条新线,该线仅包含满足条件的点。

import numpy as np; np.random.seed(1)
import matplotlib.pyplot as plt

x = np.arange(100)
y = np.abs(np.cumsum(np.random.rand(100)-0.5))/4.
y1 = np.copy(y)
y1[y1 < 0.7] = np.nan

plt.plot(x,y, linewidth=1.4)
plt.plot(x,y1, linewidth=2)

plt.show()

enter image description here

关于python - 不同的颜色代表不同的值范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908809/

相关文章:

python - 多个调用级别的异常处理

jquery - 一些 Pyramid + AJAX (Jquery) 问题

python - 使用 pandasplot() 时出现意外振荡

在 Matplotlib 中使用多边形进行 Numpy 数组切片

python - 具有相同参数的函数的全局变量与参数

python - Pandas数据框新列作为多列时间标量递减的总和

python - 如何获得 Jinja2 模板使用的所有文件的列表?

python - 在 matplotlib 中显示一条线,以便我的结果与我的教科书相匹配

python - 如何在网格上进行细化绘制?

python - 如何设置为默认 matplotlib 等高线图以始终标记等高线