python - 如何在堆积面积图中添加颜色
问题描述
请我需要在我的代码中添加区域颜色以显示类似于下面的图:
我的代码在这里:
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()
解决方案
您需要做的就是将以下 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')
您还可以创建与颜色对应的图例。但是,在您的图表的情况下,由于两条绘图线交叉,最好将图例分配给绘图线而不是颜色(就像您一样)。
推荐阅读
- android - Firebase ML Kit:检查失败:'out_pix' 必须为非 NULL
- r - 使用来自不同现有列的值,使用日期作为选择标准,逐行填充新列
- java - Kafka 产生多值消息
- cocoa - 可可:设置Mac窗口全屏视图不会改变大小
- node.js - 如何在多个管道写入流中正确使用 Promise
- javascript - 状态 204 显示 response.ok
- zsh - 重启后 ZSH 找不到 NPM、Gulp 或 Bower
- python - 使用 Anaconda 在 PyCharm 中导入 PyTorch
- c# - 在子列表框项 WPF 悬停时删除父列表框项上的悬停效果
- java - 尝试更新进度条