Python 基于两个numpy阵列更改了x轴脊椎颜色

Python 基于两个numpy阵列更改了x轴脊椎颜色,python,pandas,matplotlib,Python,Pandas,Matplotlib,我的代码如下所示: 价格=np.arraydf.price 低价=np.arraydf[“中间价”] 价格等于:[nan,nan,2,3,nan,nan,1] 低价相当于:[1,2,2,3,3,4,1] 当我绘制它们时: plt.plot(low_price, 'k', linewidth=2) plt.plot(price, 'y', linewidth=2) 它们以不同的颜色绘制在同一条线上,但如何更改X轴呢?我不知道。。谢谢 这或多或少与这个问题有关: 但是我只想更改特定数据点的颜色。一

我的代码如下所示:

价格=np.arraydf.price 低价=np.arraydf[“中间价”]

价格等于:[nan,nan,2,3,nan,nan,1]

低价相当于:[1,2,2,3,3,4,1]

当我绘制它们时:

plt.plot(low_price, 'k', linewidth=2)
plt.plot(price, 'y', linewidth=2)
它们以不同的颜色绘制在同一条线上,但如何更改X轴呢?我不知道。。谢谢

这或多或少与这个问题有关:


但是我只想更改特定数据点的颜色。

一个不太好的方法是通过关闭剪辑在轴的一部分的顶部绘制一条线:

import numpy as np
import matplotlib.pyplot as plt

price = [np.nan, np.nan, 2, 3, np.nan, np.nan, 1]
low_price = [1, 2, 2, 3, 3, 4, 1]

plt.plot(low_price, "k", lw=2)
plt.plot(price, "y", lw=2)

# plot line on axes
line = plt.plot([2, 3], [0, 0], "y", lw=2)[0]
line.set_clip_on(False)  # turn off clip
plt.ylim(0, 4)  # set ylim so axes doesn't move
plt.show()

如果您提供一个预期输出的可视化示例,可能会有所帮助。请参见Hi@alex,line.set\u clip\u onFalse是什么意思,而且我没有得到plt.ylim0,4行代码,谢谢!嘿@Viktor.w!plt.ylim0,4将y轴范围从0固定到4。如果在画布的边缘(例如在轴上)绘制某个对象,Matplotlib会自动扩展轴-因此,如果要在轴的顶部绘制(在本例中为0),则需要将轴固定到位,但可以是任何对象。现在,matplotlib通常会隐藏在画布外绘制的任何片段,但您可以对特定元素禁用该选项。由于水平黄线直接绘制在轴上画布的边界上,如果我们不使用set_clip_onFalse为其禁用剪裁,则不会渲染该线。