【问题标题】:Avoiding overlapping points in python scatterplot by increasing figure size通过增加图形大小来避免 python 散点图中的重叠点
【发布时间】:2019-08-11 08:57:02
【问题描述】:

我有以下几点:

x = (0.5, 0.5, -3.6, -2, -2, -2.416, -2.75, -2.583, -2.583, -2.625, -2.541, -2.416, -2.416, -2.25, -2.083, -1.583, -1.583, -0.333, 1.333, 1.333, 0.638, 0.916, 0.916, 1.194, 1.194, 1.194, 1.472, 1.75, 2.027, 3, 4.666, 4.666),
y = (0, -0.2, -0.4, -0.4, -0.6000000000000001, -0.8, -1.0, -1.0, -1.2, -1.4, -1.4, -1.0, -1.2, -1.0, -1.0, -0.8, -1.0, -0.4, -0.4, -0.6, -0.8, -0.8, -1.0, -0.8, -1.0, -1.2, -0.8, -0.8, -0.8, -0.4, -0.4, -0.6)

我想做一个散点图

import matplotlib.pyplot as plt
plt.scatter(x,y, )

但点开始重叠。

我的即时想法是增加图形的尺寸,保持标记大小相同。但是,似乎标记大小不是绝对的,而是相对于图形大小。随着数字变大,标记也会变大。

因此,显而易见的解决方案是缩小标记。这引入了 2 个问题。

  • 首先,我正在绘制多个绘图,并且我想保持标记的大小相同,即使这意味着图形的大小不同。

  • 其次,我将在这些数字上添加文字。这将意味着缩小文本的字体大小。当我们将它们放大到纸上相同的物理尺寸时,相同的字体但不同的尺寸看起来会有所不同。所以我的字体看起来不一致。另外,我的字体只能这么小。

有没有办法增加我的图形的物理大小,同时保持我的标记(和文本)的物理大小相同[这会增加它们之间的间距]?

【问题讨论】:

  • 嗯,所以这里的问题似乎是 plt.show() 给了我明显的问题,但如果我真的努力保存这个数字,结果是我预期的方式。你的评论让我继续保存这些数字,这样我就可以上传它们,向你展示它并没有什么不同……而且,嗯,显然它确实如此。谢谢。
  • savefigshow 应该产生相同的图形大小,除非您使图形大小大于您的屏幕。该问题不允许看到实际问题。带有结果屏幕截图的完整可运行代码可能会有所帮助。

标签: python matplotlib scatter-plot


【解决方案1】:

我需要继续保存该图,而不是使用plt.show() 查看它。一旦我保存了这个数字,它看起来就像我预期的那样。

(如果有人能给出更好的答案,请说明为什么我在plt.show() 遇到了这个问题,我很乐意删除这个并接受你的)

【讨论】:

    猜你喜欢
    • 2012-01-30
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多