Matplotlib中为数据点设置不同颜色并添加图例
为数组元素设置不同颜色并添加图例
我正在绘制长度为2的数组A,希望在同一张图中为A[0]、A[1]设置不同颜色(而非当前的单一红色),同时为两者分别添加图例。当前使用的代码如下:
import numpy as np import matplotlib.pyplot as plt A=np.array([[[0.02109 ], [0.02109 ], [0.0201082 ], [0.02109 ], [0.02109 ], [0.02109 ], [0.02055473], [0.02055797], [0.02109 ], [0.02109 ], [0.02109 ], [0.02109 ]], [[0.02109 ], [0.02109 ], [0.01127196], [0.02109 ], [0.02109 ], [0.02109 ], [0.01573726], [0.01576968], [0.02109 ], [0.02109 ], [0.02109 ], [0.02109 ]]]) plt.title("Line graph") for i in range(0,len(A)): plt.plot(A[i], color="red", ls='', marker='o') plt.xlabel('Node number') plt.ylabel('IFT (mN/m)')
当前输出为两组红色散点,无法区分两组数据。
修改后的代码
import numpy as np import matplotlib.pyplot as plt A=np.array([[[0.02109 ], [0.02109 ], [0.0201082 ], [0.02109 ], [0.02109 ], [0.02109 ], [0.02055473], [0.02055797], [0.02109 ], [0.02109 ], [0.02109 ], [0.02109 ]], [[0.02109 ], [0.02109 ], [0.01127196], [0.02109 ], [0.02109 ], [0.02109 ], [0.01573726], [0.01576968], [0.02109 ], [0.02109 ], [0.02109 ], [0.02109 ]]]) plt.title("Line graph") # 定义颜色和图例标签 colors = ['blue', 'green'] labels = ['A[0]数据', 'A[1]数据'] for i in range(len(A)): plt.plot(A[i], color=colors[i], ls='', marker='o', label=labels[i]) plt.xlabel('Node number') plt.ylabel('IFT (mN/m)') # 显示图例 plt.legend() plt.show()
关键修改说明
- 新增
colors列表指定两组数据的不同颜色,labels列表定义对应图例名称 - 循环时为每组数据匹配对应的颜色和图例标签
- 调用
plt.legend()让图例显示,方便区分两组数据
内容的提问来源于stack exchange,提问作者jcbose123
相关产品推荐
相关产品推荐

