我有一个 pandas 数据框,在其中绘制 12 列中的两列,一列作为 x 轴,一列作为 y 轴。 x 轴只是一个时间序列,y 轴的值是大约 -5000 到 5000 之间的随机整数。
有没有办法只使用这两列来制作散点图,其中 y 的正值是某种颜色,负值是另一种颜色?
我已经尝试了很多变化,但无法得到任何结果。我尝试使用不同的颜色图、颜色网格、使用seaborn颜色图和布尔掩码来表示负数/正数。我不知道该怎么做。
使用颜色图对散点点进行着色的想法当然是合理的。如果您正在使用plt.scatter
绘图中,您可以提供颜色图根据其选择颜色的值c
争论。
这里你只需要两个值,所以c= np.sign(df.y)
将是一个合适的选择。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.DataFrame({'x': np.arange(25), 'y': np.random.normal(0,2500,25)})
fig, ax = plt.subplots()
ax.scatter(df.x, df.y, c=np.sign(df.y), cmap="bwr")
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)