如何在堆积面积图中添加颜色
Posted
技术标签:
【中文标题】如何在堆积面积图中添加颜色【英文标题】:How to add colors in stacked area chart 【发布时间】:2021-10-28 08:16:56 【问题描述】:我需要在我的代码中添加区域颜色以显示类似于下面的图:
我的代码在这里:
import numpy as np
import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
df = pd.DataFrame('Time': [1,2,3,4,5],
'T=0': [0.5,0.16,0,0.25,0],
'T=2': [0.5,0.5,1,1,1],
'T=10': [0.75,0.8,0.85,0.9,0.8]
)
plt.plot( 'Time', 'T=10', data=df, marker='d', color='black', markersize=5, linewidth=1.5, linestyle=':')
plt.plot( 'Time', 'T=2', data=df, marker='^', color='black', markersize=4, linewidth=1.5,linestyle='--')
plt.plot( 'Time', 'T=0', data=df, marker='o', color='black', markersize=4, linewidth=1.5,linestyle='-')
plt.legend()
plt.xlabel("Time")
plt.xticks([1,2,3,4,5])
plt.xlim(0.9, 5.02)
plt.ylabel("Average")
plt.ylim(0, 1.02)
plt.show()
实际结果: 非常感谢。
【问题讨论】:
【参考方案1】:您需要做的就是将以下 3 行添加到您的代码中:
plt.fill_between(df['Time'], df['T=0'], alpha = 0.3, color = 'steelblue')
plt.fill_between(df['Time'], df['T=0'], df['T=2'], alpha = 0.3, color = 'yellow')
plt.fill_between(df['Time'], df['T=2'], df['T=10'], alpha = 0.3, color = 'red')
您还可以创建与颜色对应的图例。但是,对于您的图表,由于两条绘图线交叉,最好将图例分配给绘图线而不是颜色(就像您一样)。
【讨论】:
以上是关于如何在堆积面积图中添加颜色的主要内容,如果未能解决你的问题,请参考以下文章