【问题标题】:Make Matplotlib annotations readable/less dense使 Matplotlib 注释可读/不那么密集
【发布时间】:2021-03-28 18:24:19
【问题描述】:

有什么方法可以降低 Matplotlib 中数据标签的密度?现在,它看起来像这样。

这是我的代码:

    countries_list.insert(0, "(0,0)")
    arrowprops = dict(arrowstyle='<-', color='blue', linewidth=1, mutation_scale=10)
    for i, txt in enumerate(countries_list):
        ax.annotate(string.capwords(txt), (x_list[i], y_list[i]), arrowprops = arrowprops)

谢谢。

编辑:我更多地考虑喜欢是否有一个自动选项可以自动将箭头重新排列到绘图周围的不同位置以使标签更具可读性?

【问题讨论】:

  • 我认为你最好的选择是adjustText
  • @Mr.T 谢谢。我觉得可以

标签: python matplotlib data-visualization


【解决方案1】:

所以我认为就调整文本大小而言,您真的无能为力,因为您需要将其设置为一种无法阅读的小字体,以便将每个单词分开。我认为您要做的是更改 y 轴的比例。现在,您的 y 轴上有一个线性刻度,数据的分布非常非线性,这就是为什么在底部附近有大量数据点被挤压的原因。

为您的 x 轴设置如下内容:

ax.set_yscale('log')

在他们的网站上查看有关轴和缩放的更多信息: enter link description here

也刚刚发现了这个,它可能会产生一个比对数缩放更好看的图,特别是因为我不知道我们正在使用您的数据查看什么样的分布。

enter link description here

您可以使用它来相对于数据集和极值缩放 y 轴。

【讨论】:

  • 是的,我认为在文本大小方面我无能为力。我更多地考虑可能是一个自动选项,以自动将箭头重新排列到绘图周围的不同位置,以使标签更具可读性。
猜你喜欢
  • 2011-03-13
  • 2019-07-26
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
相关资源
最近更新 更多