【问题标题】:Annotation not happening in matplotlibmatplotlib 中未发生注释
【发布时间】:2022-01-16 16:20:50
【问题描述】:

我有这样的数据

|               | FA1  | FA2  | FA3  |
|SS Loadings    | 1.6  | 1.3  | 0.58 |
|Proportion Var | 0.27 | 0.20 | 0.10 |

我正在尝试绘制它,这是我正在使用的代码

import matplotlib.pyplot as plt

plt.scatter(data.T.index.values, data.T['Proportion Var'])
plt.plot(data.T.index.values, data.T['Proportion Var'])

for i, txt in enumerate(data.T['Proportion Var']):
    ax.annotate(txt, (data.T.index.values[i], data.T['Proportion Var'][i]))

plt.title('Proportional Var')
plt.xlabel('Factors')
plt.ylabel('Variance explained')
plt.grid()
plt.show()

此图没有注释。我查看了几个问题,看看我是否做错了什么,我没能抓住它。任何帮助表示赞赏!

【问题讨论】:

    标签: python-3.x matplotlib graph graphics


    【解决方案1】:

    您的变量ax 未定义。您应该已经看到一条错误消息。如果你想使用注解,你必须定义它:

    fig, ax = plt.subplots()
    ax.scatter(data.T.index.values, data.T['Proportion Var'])
    ax.plot(data.T.index.values, data.T['Proportion Var'])
    
    for i, txt in enumerate(data.T['Proportion Var']):
        ax.annotate(txt, (data.T.index.values[i], data.T['Proportion Var'][i]))
    
    ax.set_title('Proportional Var')
    ax.set_xlabel('Factors')
    ax.set_ylabel('Variance explained')
    plt.grid()
    plt.show()
    

    【讨论】:

    • 谢谢。这就是问题所在。而且,这很奇怪!我根本没有收到错误消息。
    • 我有一个后续问题。有没有办法可以移动我的注释,使它们不直接位于散点上方?
    • 您可以随意调整它们的坐标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    相关资源
    最近更新 更多