【问题标题】:Making plot less crowded in Matplotlib使 Matplotlib 中的情节不那么拥挤
【发布时间】:2017-07-10 14:02:34
【问题描述】:

我已经使用 matplotlib 制作了一个误差线图,但是它太拥挤了,无法在没有放大的情况下看到所有内容。我当然可以这样做,但是当我保存绘图时,我只能保存放大的位而丢失其余部分数据。

有没有办法使用 matplotlib 获得可滚动的绘图,以便当我将其保存为 png 时,所有内容都包含在内或任何其他格式,这样就不会丢失数据?本质上,我希望情节的长度远大于宽度。

我用来绘制的代码是:

plot1_dataerr = get_plot_data_errbars(processed_answers[0][plot_low:]) #the data to be plotted, the zeroth element of this is the labels, the first is the means and the second is the errorbar size
fig, axs = plt.subplots()
fig.subplots_adjust(left=0.2)
axs.set_xlim([1,5])
axs.grid()
axs.errorbar(plot1_dataerr[1],range(len(plot1_dataerr[1])),xerr = plot1_dataerr[2], fmt = 'k o')
axs.yaxis.set_ticks(np.arange(len(plot1_dataerr[1])))
axs.set_yticklabels(plot1_dataerr[0])

这是我得到的情节,你可以看到它非常拥挤且不清楚:

【问题讨论】:

  • 您真的显示了所有数据点吗?为什么不对数据进行下采样以适应您的显示方法的分辨率?使用对您的数据类型/问题区域有意义的任何方法进行采样。

标签: python matplotlib plot


【解决方案1】:

你可以增加情节的大小

plt.subplots(figsize=(18,10))

这当然有在屏幕上显示情节的限制。因此,您也可以或另外减少每英寸的点数,

plt.subplots(figsize=(36,20), dpi=50)

然后将绘图保存为像 pdf 这样的矢量格式,这样您就不会丢失保存的图形中的任何细节。

您也可以保留 dpi,增加图形大小,最后在带有滚动条的窗口中显示您的绘图。这显示为例如在问题Scrollbar on Matplotlib showing page

【讨论】:

    【解决方案2】:

    您可以在subplots() 构造函数中指定更大的图形大小。

    fig, axs = plt.subplots(figsize=(w, h))
    

    其中wh 是以英寸为单位的宽度和高度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多