我有一个简短的问题:有没有办法将散点图中的点显示为加号和减号?例如,此代码生成一个带有蓝色和红色点的散点图:
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()我想要蓝色的加号和红色的减号。有可能吗?提前谢谢。
发布于 2019-12-22 18:02:54
您可以将此参数添加到ax.scatter marker="+"中以获取完整的标记列表,请参阅official documentation
如果需要条件标记,可以将标记指定为运行If子句的数组,类似于this上一个SO线程
发布于 2019-12-22 18:09:01
对于每个调用,scatter只接受一个marker style,因此您必须分别绘制每个标记。使用掩码很容易做到:
mask = df.y >= 0
ax.scatter(df.x[mask], df.y[mask], c='b', marker='+')
ax.scatter(df.x[~mask], df.y[~mask], c='r', marker='_')https://stackoverflow.com/questions/59443190
复制相似问题