我无法通过引用索引来绘制点着色的变量。我最终想要的是每个点(连接到下一个点)的线段是特定的颜色。我尝试了Matplotlib
和pandas
。每种方法都会抛出不同的错误。
生成趋势线:
datums = np.linspace(0,10,5)
sinned = np.sin(datums)
plt.plot(sinned)
现在我们生成一个新的标签列:
sinned['labels'] = np.where((sinned < 0), 1, 2)
print(sinned)
生成我们的最终数据集:
0 labels
0 0.000000 2
1 0.598472 2
2 -0.958924 1
3 0.938000 2
4 -0.544021 1
现在为了密谋尝试:
plt.plot(sinned[0], c = sinned['labels'])
导致错误:length of rgba sequence should be either 3 or 4
我还尝试将标签设置为字符串'r'
或'b'
,这些字符串不起作用:-/
答案 0 :(得分:1)
1和2不是颜色,'b'
lue和'r'
ed在下面的示例中使用。你需要分别绘制每个。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
datums = np.linspace(0,10,5)
sinned = pd.DataFrame(data=np.sin(datums))
sinned['labels'] = np.where((sinned < 0), 'b', 'r')
fig, ax = plt.subplots()
for s in range(0, len(sinned[0]) - 1):
x=(sinned.index[s], sinned.index[s + 1])
y=(sinned[0][s], sinned[0][s + 1])
ax.plot(x, y, c=sinned['labels'][s])
plt.show()