Python 显示matplotlib线图中的所有线
如何将另一条线放在前面,或将两个图形显示在一起Python 显示matplotlib线图中的所有线,python,matplotlib,Python,Matplotlib,如何将另一条线放在前面,或将两个图形显示在一起 plot_yield_df.plot(figsize=(20,20)) 如果打印数据重叠,则查看两个数据的一种方法是增加线宽和处理透明度,如图所示: plt.plot(np.arange(5), [5, 8, 6, 9, 4], label='Original', linewidth=5, alpha=0.5) plt.plot(np.arange(5), [5, 8, 6, 9, 4], label='Predicted') plt.legen
plot_yield_df.plot(figsize=(20,20))
如果打印数据重叠,则查看两个数据的一种方法是增加线宽和处理透明度,如图所示:
plt.plot(np.arange(5), [5, 8, 6, 9, 4], label='Original', linewidth=5, alpha=0.5)
plt.plot(np.arange(5), [5, 8, 6, 9, 4], label='Predicted')
plt.legend()
子绘图是另一种好方法 问题
线按其列在数据框中的显示顺序打印。比如说
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
a = np.random.rand(400)*0.9
b = np.random.rand(400)+1
a = np.c_[a,-a].flatten()
b = np.c_[b,-b].flatten()
df = pd.DataFrame({"A" : a, "B" : b})
df.plot()
plt.show()
这里B的值对A隐藏了这些值
解决方案1:颠倒列顺序
一个解决办法是颠倒顺序
df[df.columns[::-1]].plot()
这也改变了图例和颜色编码的顺序
解决方案2:反向z顺序
因此,如果不希望这样,您可以使用zorder
ax = df.plot()
lines = ax.get_lines()
for line, j in zip(lines, list(range(len(lines)))[::-1]):
line.set_zorder(j)
您可以使用plt.subplot指定要打印到的两个不同轴,zorder参数也可以用于确定哪个打印在前面。我也会考虑移动平均值来去除一些噪音。我猜它们都在那里——一个与另一个重叠。可能预测的产量比例不正确。