python - pyplot图例的Facecolor不显示
问题描述
我有一个等高线图,我想使用具有纯白色背景的图例,以便在等高线上可以读取图例。
我的问题是,当我更改 facecolor 时,什么也没有发生。我也尝试过更改 framealpha,但没有任何反应。这是一个玩具代码,以及结果图。如何更改图例的 facecolor 以使图例在轮廓上可读?
import numpy as np
import matplotlib.pyplot as plt
# Create data
delta = 0.025
x = np.arange(-1.0, 1.0, delta)
y = np.arange(-1.0, 1.0, delta)
X, Y = np.meshgrid(x, y)
Z = np.exp(-X**2 - Y**3)
# Plot data
fig, ax = plt.subplots()
CS = ax.contour(X, Y, Z)
# Create legend.
# Code modified from https://github.com/matplotlib/matplotlib/issues/11134
CS_elem,_ = CS.legend_elements()
ax.legend(CS_elem, ['-X**2 - Y**3'], loc='lower left',facecolor="blue", framealpha=1)
解决方案
根据您的评论,您已设置legend.frameon
为False
. 默认值为True
,以便根据文件的文档“在背景补丁上绘制图例”matplotlibrc
。没有补丁,facecolor
就无法应用。
推荐阅读
- javascript - 如何使用 mongoose 调用 MongoDB 数组
- python - 熊猫在条件下合并数据框
- ios - 如何让我的核心数据实体的属性在 Objective-C 单元测试中可见
- angular - 单击 ion-item 时在 for 循环中选择 Id
- xamarin - 如何在 Xamarin App.Shell 中更改 Android ActionBar 颜色
- sql-server - 用于批量插入的从数据块到 sqlserver 的 Sql Apache Spark 连接器:性能问题
- javascript - 将新的子对象添加到 React 中的现有对象
- javascript - 当 Promises 阻塞执行时
- swift - 如何从 UITableViewCell 中关闭 UIViewController
- html - 将 tds 中的图标呈现在与选择/输入元素相同的行上