python - 我的图形图例颜色与我的图形线颜色不匹配?
问题描述
我正在尝试在图表上绘制两条线,并且正在努力将我的图例颜色与图表线颜色相匹配。当我尝试为绘图上的线条分配颜色时,它只会更改图例,虽然它也改变了图形的线条颜色,但它们与图例不匹配!
这是我的代码的基础。
import pandas as pd
import matplotlib.pyplot as plt
df_mated = pd.read_csv("file1.txt", sep='\t', header=0)
df_mated['Average'] = df_mated.mean(axis=1)
df_mated['SEM'] = df_mated.loc[:, :'Average'].sem()
mated_E = df_mated['SEM'].tolist()
b = df_mated['Average'].tolist()
plot1, = plt.plot(x, b, 'r-')
plt.errorbar(x, b, xerr=None, yerr=mated_E)
df_unmated = pd.read_csv("file2.txt", sep='\t', header=0)
df_unmated['Average'] = df_unmated.mean(axis=1)
df_unmated['SEM'] = df_unmated.loc[:, :'Average'].sem()
unmated_E = df_unmated['SEM'].tolist()
c = df_unmated['Average'].tolist()
plot2, = plt.plot(x, c, 'b-')
plt.errorbar(x, c, xerr=None, yerr=unmated_E)
plt.xlabel('Position')
plt.ylabel('Average Read Depth')
plt.legend([plot1,plot2],["Mated", "Unmated"])
plt.show()
这是我得到的: 输出图
如您所见,颜色不匹配,但更重要的是,匹配的红线绝对应该是图表上的顶线。我已经通过打印列表 b 和 c 验证了这一点,所以我确定。
如果我删除 'r-' 和 'b-' 我会得到下图:输出图 2
还是不对...
我是 python 和编码的新手,所以如果您需要更多信息,请告诉我。谢谢你的帮助!
PS您可能会看到我的误差线也仅适用于图形的一半,因为 .sem() 为我的 pandas 数据框中的某些值生成 NaN。我认为这可能是由于除以 0 错误,因为我的所有数据都是非常小的浮点数 - 但如果您有任何见解,也将不胜感激!
解决方案
错误线隐藏了您在图例中显示的线。您可以删除多余的图,并以相应的颜色绘制误差线(线)。所以而不是
plot1, = plt.plot(x, b, 'r-')
plt.errorbar(x, b, xerr=None, yerr=mated_E)
# ...
plot2, = plt.plot(x, c, 'b-')
plt.errorbar(x, c, xerr=None, yerr=unmated_E)
采用
plot1, _, _ = plt.errorbar(x, b, xerr=None, yerr=mated_E, color="r")
# ...
plot2, _, _ = plt.errorbar(x, c, xerr=None, yerr=unmated_E, color="b")
推荐阅读
- react-native - 无法使用从 BlackBerry-Dynamics-for-React-Native-Networking 获取来自私有 URL 的响应
- python - 在地块后面添加所需的国家底图,不是很详细,只有外部边界
- python - AttributeError:模块“torchtext.data”没有属性“TabularDataset”
- firebase - throw MissingPluginException('在通道 $name 上找不到方法 $method 的实现');
- java - 没有 SonarQube 的 Eclipse 上的 SonarLint/Java:Lombok 生成的类的误报
- python - FileNotFoundError Try and except 似乎不起作用
- mongodb - 使用 MongoDB Atlas 的 GCP 推荐系统
- angular - 如何以角度动态删除css类
- javascript - 如何根据创建时间从火力库中选择文档?
- bash - crontab 不运行 bash 脚本