我已经安装并导入了以下内容(使用Google Colab):
!pip install upsetplot
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import upsetplot
from upsetplot import generate_data, plot
from upsetplot import UpSet
from upsetplot import from_contents
版本:
- Python 3.8.16语言
- 麻木版本:1.21.6
- Pandas版:1.3.5
- matplotlib版本:3.2.2
- 干扰图0.8.0
...并定义了图颜色:
plot_colour = "#4F84B9"
我有以下Pandas Dataframe :
df = pd.DataFrame({'File':['File_1', 'File_2', 'File_3'],
'A':[1,1,0],
'B':[0,1,1],
'C':[1,0,1]})
我重新塑造它的形状,为"扰动"图做准备:
files_labelled_A = set(df.loc[df["A"]==1, "File"])
files_labelled_B = set(df.loc[df["B"]==1, "File"])
files_labelled_C = set(df.loc[df["C"]==1, "File"])
contents = {'A': files_labelled_A,
'B': files_labelled_B,
'C': files_labelled_C}
from_contents(contents)
我成功创建并查看了"扰动"图:
plt = UpSet(from_contents(contents),
subset_size='count',
facecolor=plot_colour).plot()
如何像处理matplotlib图一样添加标题并更改其他图美学?当我尝试添加:
plt.title('my title here')
我得到一个错误:
属性错误:"dict"对象没有属性"title"
我在https://upsetplot.readthedocs.io/en/latest/auto_examples/plot_sizing.html中找到了一些指导,它使用不同的方法创建图:
example = generate_counts()
print(example)
plot(example)
plt.suptitle('Defaults')
plt.show()
...然后以典型的matplotlib方式成功地修改美学,例如:
fig = plt.figure(figsize=(10, 3))
plot(example, fig=fig, element_size=None)
plt.suptitle('Setting figsize explicitly')
plt.show()
...但我无法遵循相同的方法,因为我不知道如何使用generate_counts()创建"示例"数据。我不知道如何对我的数据使用相同的方法。
有人能帮我弄清楚如何:
(1)使用generate_counts()的方法,或者(2)修改我的方法,以便我可以改变matplotlib的美学(例如添加标题)?
使用我的数据的完整代码示例将受到赞赏,而不仅仅是对要做什么的描述。
1条答案
按热度按时间k3bvogb11#
您正在隐藏
plt
模块,请用途:它为
d
(不是plt
!)指定一个字典,其轴为:然后,您仍然可以使用
plt
,但也可以使用以下命令访问轴: