【问题标题】:How to change the plotting canvas size of the graph to 750 pixels using matplotlib in python?如何在 python 中使用 matplotlib 将图形的绘图画布大小更改为 750 像素?
【发布时间】:2018-03-03 04:46:01
【问题描述】:

我正在尝试调整绘制折线图的区域的大小。我只希望该区域为 750 像素宽。我之前尝试过的所有解决方案都涉及使用 plt.figure(figsize=) ,所有变化都是图形的整体大小,而不是画布本身(绘制曲线的矩形)。 下面是我的代码的 sn-p 和我得到的结果图(整个图包括 x 和 y 轴周围的空白区域为 727 像素宽,我希望轴内的区域为 750 像素宽)

code snippet

resulting graph

【问题讨论】:

  • 如果它是 tkinter 的基本画布,您可以执行类似的操作 - name_of_canvas.config(width=750)
  • 请出示一个小代码 sn-p 和您目前所拥有的打印屏幕,并更好地解释您的期望。帮助你会更容易。
  • 谢谢,我更新了我的问题。希望它现在更清楚一点

标签: python canvas matplotlib


【解决方案1】:

为了使轴具有一定的大小,需要进行少量计算。

如果target = 750dpi=100,要两边留10%的边距,则图形总宽度需要为

figwidth = target / dpi / (1.-2*0.1) = 9.375

您可以进行此计算并在代码中设置相应的数字

fig = plt.figure(figsize=(9.375, 5), dpi=100)
fig.subplots_adjust(left=0.1, right=0.9)

或使用即时计算数字,

target = 750
dpi=100
margin=0.1
fig = plt.figure(figsize=(target / (1.-2*margin) /dpi, 5), dpi=dpi)
fig.subplots_adjust(left=margin, right=1.-margin)

【讨论】:

    【解决方案2】:

    不要使用bbox_inches='tight',这会导致错误的输出。让它保持不变,它应该可以正常工作。我尝试了以下方法,效果很好。

    plt.figure(1, figsize=(7.5, 7.5), dpi=100)
    plt.plot(A)
    plt.savefig('Figure_1.png')
    plt.show()
    

    在此处进一步查找information,已经有人遇到了同样的问题。

    【讨论】:

    • 您提供的解决方案增加了图的整体大小。我只是想让 x 和 y 轴内的区域(绘制折线图的地方)750 像素宽
    • 哦,对不起,我的错。但也许该链接对您有所帮助。
    • This should help。虽然这可能只是整体数字
    猜你喜欢
    • 2018-07-28
    • 1970-01-01
    • 2013-04-10
    相关资源
    最近更新 更多