python - 如何解决 matplotlib 3.5 中的多个刺?
问题描述
这里的文档说我可以通过像这样传递一个列表来一次处理多个脊椎:
spines[['top','right']].set_visible(false)
我想设置我的脊椎的线宽,所以我写了
panel2.spines[["top","bottom"]].set_linewidth(0.72)
并得到一个 TypeError: unhashable type: 'list'。我不明白这个问题。
这是一个最小的工作示例
import matplotlib.pyplot as plt
import matplotlib.patches as mplpatches
import numpy as np
plt.figure( figsize=(1,1) )
panel1=plt.axes( [0.1,0.1,0.5,0.5] )
panel1.spines[["top","bottom"]].set_linewidth(2)
plt.show()
仅用“top”或“bottom”字符串替换列表的地方。
解决方案
类似于@JohanC 的建议:
import matplotlib.pyplot as plt
import matplotlib.patches as mplpatches
import numpy as np
plt.figure( figsize=(1,1) )
panel1=plt.axes( [0.1,0.1,0.5,0.5] )
# Specify each side independently.
panel1.spines['top'].set_linewidth(2)
panel1.spines['bottom'].set_linewidth(2)
plt.show()
推荐阅读
- css - (不)具有特定子类的样式容器
- c++ - 在 Linux 上动态和静态地使用 C++ 库
- reactjs - 如何管理具有相同标签的类似输入字段的数组React js设置状态
- java - JPopupMenu 仅在我按键盘上的菜单键时才跳转几行
- reactjs - Create React App 为来自不同 CI 作业的相同代码生成不同的块文件名
- python - 在标签和属性名称中使用破折号对象化 xml 字符串
- javascript - Vuejs 组件未在 svg 标签内呈现
- python - 将列表中的随机元素添加到现有数据帧字符串
- angular - 表情符号没有出现在 git cz 的提交中
- flutter - 打开键盘时如何移动AppBar?