【问题标题】:adding a number to scatterplot location based on list value根据列表值将数字添加到散点图位置
【发布时间】:2016-12-05 01:05:00
【问题描述】:

我遇到以下问题。下图代表一个区域。颜色是根据它们所属的时期分配的。因为我有大约 22 个时期,有时甚至更多,所以在大多数色标上有时很难看出不同时期之间的差异。因此,我想在每个正方形的中间添加小数字。该数字应与该职位的 PeriodNumbersGood 数字相同。

我希望任何人都可以帮助我,或者对我有任何建议。

import matplotlib.pyplot as plt
PeriodNumbersGood = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22]

XGOOD = [336350.0, 336450.0, 336450.0, 336550.0, 336650.0, 336750.0, 336650.0, 336650.0, 336550.0, 336550.0, 336650.0, 336650.0, 336750.0, 336850.0, 336850.0, 336750.0, 336750.0, 336850.0, 336950.0, 337050.0, 336950.0, 336950.0, 337050.0, 336950.0, 336850.0, 336850.0, 336950.0, 336850.0, 336750.0, 336750.0, 336650.0, 336750.0, 336850.0, 336950.0, 337050.0, 336950.0, 336850.0, 336850.0, 336950.0, 337050.0, 337150.0, 337150.0, 337050.0, 337050.0, 337150.0, 337150.0, 337250.0, 337250.0, 337250.0, 337350.0, 337350.0, 337450.0, 337350.0, 337250.0, 337350.0, 337250.0, 337150.0, 337050.0, 337150.0, 337050.0, 337150.0, 337250.0, 337350.0, 337250.0, 337250.0, 337150.0, 337150.0, 337050.0, 336950.0, 337050.0, 336950.0, 337150.0, 337050.0, 337050.0, 336950.0, 337150.0, 337450.0, 337450.0, 337450.0, 337550.0, 337550.0, 337450.0, 337450.0, 337550.0, 337650.0, 337550.0, 337650.0, 337750.0, 337650.0, 337650.0, 337550.0, 337550.0, 337550.0, 337450.0, 337350.0, 337250.0, 337350.0, 337350.0, 337450.0, 337350.0, 337450.0, 337350.0, 337350.0, 337450.0, 337450.0, 337350.0, 337250.0, 337250.0, 337150.0, 337250.0, 337250.0, 337250.0, 337150.0, 337150.0, 337050.0, 336950.0, 337150.0, 337250.0, 337350.0, 337450.0, 337550.0, 337450.0, 337350.0, 337250.0, 337350.0, 337450.0, 337550.0, 337650.0, 337650.0, 337650.0, 337750.0, 337750.0, 337850.0, 337850.0, 337750.0, 337850.0, 337750.0, 337650.0, 337550.0, 337550.0, 337750.0, 337750.0, 337750.0, 337850.0, 337850.0, 337950.0, 337950.0, 338050.0, 338050.0, 337950.0, 338050.0, 338150.0, 338250.0, 338150.0, 338150.0, 338250.0, 338150.0, 338050.0, 337950.0, 337950.0, 337850.0, 337950.0, 337850.0, 337850.0, 337750.0, 337750.0, 337650.0, 337650.0, 337750.0, 337850.0, 337850.0, 337750.0, 337750.0, 337850.0, 337750.0, 337850.0, 337750.0, 337650.0, 337550.0, 337550.0, 337550.0, 337650.0, 337550.0, 337650.0, 337750.0, 337850.0, 337950.0, 337950.0, 337850.0, 337750.0, 337650.0, 337650.0, 337550.0, 337550.0, 337650.0, 337750.0, 337850.0, 337750.0, 337650.0, 337550.0, 337450.0, 337450.0, 337350.0, 337350.0, 337450.0, 337550.0, 337450.0, 337750.0, 337850.0, 337850.0, 337950.0, 337950.0, 338050.0, 337950.0, 337950.0, 337850.0, 337750.0, 337650.0, 337550.0, 337550.0, 337650.0, 337650.0, 337650.0, 337650.0, 337750.0, 337850.0, 337950.0, 337950.0, 337950.0, 338050.0, 338150.0, 338150.0, 338050.0, 338050.0, 337950.0, 337850.0, 337750.0, 337850.0, 337850.0, 337850.0, 337850.0, 337750.0, 337950.0, 338050.0, 338050.0, 338150.0, 338150.0, 338250.0, 338350.0, 338350.0, 338250.0, 338350.0, 338350.0, 338250.0, 338050.0, 338050.0, 338150.0, 338050.0, 338050.0, 338150.0, 338250.0, 338250.0, 337850.0, 337950.0, 337850.0, 336550.0]
YGOOD = [7089650.0, 7089550.0, 7089650.0, 7089550.0, 7089450.0, 7089350.0, 7089350.0, 7089250.0, 7089350.0, 7089450.0, 7089550.0, 7089650.0, 7089550.0, 7089450.0, 7089350.0, 7089450.0, 7089250.0, 7089250.0, 7089250.0, 7089350.0, 7089450.0, 7089350.0, 7089250.0, 7089150.0, 7089150.0, 7089050.0, 7088950.0, 7088950.0, 7089050.0, 7089150.0, 7089150.0, 7088950.0, 7088850.0, 7088750.0, 7088650.0, 7088650.0, 7088650.0, 7088750.0, 7088850.0, 7088950.0, 7088850.0, 7088950.0, 7089050.0, 7089150.0, 7089050.0, 7089150.0, 7089050.0, 7088950.0, 7088850.0, 7088850.0, 7088750.0, 7088650.0, 7088650.0, 7088550.0, 7088450.0, 7088350.0, 7088450.0, 7088350.0, 7088250.0, 7088250.0, 7088350.0, 7088450.0, 7088550.0, 7088650.0, 7088750.0, 7088650.0, 7088550.0, 7088550.0, 7088450.0, 7088450.0, 7088550.0, 7088750.0, 7088850.0, 7088750.0, 7089050.0, 7089250.0, 7088750.0, 7088550.0, 7088450.0, 7088550.0, 7088450.0, 7088350.0, 7088250.0, 7088350.0, 7088250.0, 7088150.0, 7088050.0, 7088050.0, 7087950.0, 7087850.0, 7087750.0, 7087850.0, 7087950.0, 7088050.0, 7088150.0, 7088250.0, 7088350.0, 7088250.0, 7088150.0, 7088050.0, 7087950.0, 7087950.0, 7087850.0, 7087850.0, 7087750.0, 7087750.0, 7087850.0, 7087750.0, 7087850.0, 7087950.0, 7088050.0, 7088150.0, 7088050.0, 7088150.0, 7088150.0, 7088350.0, 7087950.0, 7087650.0, 7087550.0, 7087450.0, 7087550.0, 7087550.0, 7087450.0, 7087550.0, 7087650.0, 7087650.0, 7087650.0, 7087550.0, 7087650.0, 7087750.0, 7087750.0, 7087650.0, 7087750.0, 7087850.0, 7087850.0, 7087950.0, 7087950.0, 7088150.0, 7088250.0, 7088050.0, 7088150.0, 7087550.0, 7087450.0, 7087550.0, 7087450.0, 7087350.0, 7087250.0, 7087150.0, 7087050.0, 7086950.0, 7086950.0, 7086850.0, 7086750.0, 7086650.0, 7086750.0, 7086650.0, 7086550.0, 7086450.0, 7086450.0, 7086350.0, 7086250.0, 7086150.0, 7086150.0, 7086050.0, 7086150.0, 7086250.0, 7086250.0, 7086350.0, 7086350.0, 7086350.0, 7086450.0, 7086450.0, 7086550.0, 7086650.0, 7086750.0, 7086750.0, 7086850.0, 7086850.0, 7086750.0, 7086850.0, 7086950.0, 7086950.0, 7087050.0, 7087050.0, 7087050.0, 7087150.0, 7087150.0, 7087050.0, 7087050.0, 7087150.0, 7087250.0, 7087350.0, 7087350.0, 7087250.0, 7087150.0, 7087250.0, 7087350.0, 7087350.0, 7087450.0, 7087450.0, 7087350.0, 7087250.0, 7087350.0, 7087250.0, 7087150.0, 7087150.0, 7087050.0, 7086950.0, 7086950.0, 7086850.0, 7086850.0, 7086750.0, 7086650.0, 7086650.0, 7086550.0, 7086550.0, 7086650.0, 7086750.0, 7086650.0, 7086550.0, 7086450.0, 7086550.0, 7086650.0, 7086150.0, 7086050.0, 7085950.0, 7085850.0, 7085950.0, 7086050.0, 7086050.0, 7086150.0, 7086050.0, 7085950.0, 7085850.0, 7085750.0, 7085850.0, 7085850.0, 7085750.0, 7085650.0, 7085550.0, 7085450.0, 7085950.0, 7086250.0, 7086150.0, 7086250.0, 7086350.0, 7086450.0, 7086450.0, 7086350.0, 7086250.0, 7086350.0, 7086450.0, 7086550.0, 7086550.0, 7086750.0, 7086850.0, 7086950.0, 7086550.0, 7086350.0, 7086250.0, 7086250.0, 7086150.0, 7087250.0, 7087450.0, 7087650.0, 7089650.0]

plt.figure()
az = plt.subplot(111,aspect='equal')
az.scatter(XGOOD,YGOOD,c=PeriodNumbersGood, marker='s',s=160, lw=0, cmap= 'Dark2')
plt.show()

【问题讨论】:

    标签: python python-2.7 matplotlib colors label


    【解决方案1】:

    使用annotate为每个单元格添加标签:

    ...
    for i, label in enumerate(PeriodNumbersGood):
        az.annotate(label, (XGOOD[i]-35,YGOOD[i]-20))
    plt.show()
    

    【讨论】:

    • 谢谢,这正是我想要的。
    猜你喜欢
    • 2020-08-27
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 2017-06-16
    • 2020-02-16
    • 2020-02-03
    • 2022-07-02
    • 2018-11-12
    相关资源
    最近更新 更多