python – 在matplotlib中调整图形质量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 在matplotlib中调整图形质量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2183字,纯文字阅读大概需要4分钟。
内容图文
![python – 在matplotlib中调整图形质量](/upload/InfoBanner/zyjiaocheng/697/4200a23ee6f1482fa2a5773b4776c2c2.jpg)
我写了一些代码来在matplotlib中生成一个多面板的图形.为了使图形看起来更清晰以便在文档中使用,我尝试增加dpi.但我发现,这也改变了图形,字体,线条等的大小,如下面的简单示例所示:
#First normal figure
fig, axarr = plt.subplots(2,2, figsize=(6,6))
for i,ax in enumerate(axarr.flatten()):
ax.plot(range(10))
ax.set_title('title'+str(i), fontsize=10)
ax.set_xlabel('x'+str(i), fontsize=10)
ax.set_ylabel('y'+str(i), fontsize=10)
plt.tight_layout()
#Again, with higher dpi
fig, axarr = plt.subplots(2,2, figsize=(6,6), dpi=200)
for i,ax in enumerate(axarr.flatten()):
ax.plot(range(10))
ax.set_title('title'+str(i), fontsize=10)
ax.set_xlabel('x'+str(i), fontsize=10)
ax.set_ylabel('y'+str(i), fontsize=10)
plt.tight_layout()
plt.show()
在我的计算机上(使用matplotlib 1.4.3),第二个图形的尺寸更大,文本更大,因此y轴标签重叠.如果不使用plt.tight_layout(),子图轴的重叠也会更糟.显然,当试图提高质量时,这没有用.这里发生了什么,我怎样才能改变数字质量并保持数字的外观不变?当我调整子图参数,添加颜色条和图例等时,是否有一个解决方案也可以工作?在此先感谢您提供任何帮助.
解决方法:
您的问题是您显示它然后将其保存在GUI窗口中.您必须从命令savefig中保存图像,并在其中定义dpi.
像这样的东西:
import matplotlib.pyplot as plt
#First normal figure
fig, axarr = plt.subplots(2,2, figsize=(6,6))
for i,ax in enumerate(axarr.flatten()):
ax.plot(range(10))
ax.set_title('title'+str(i), fontsize=10)
ax.set_xlabel('x'+str(i), fontsize=10)
ax.set_ylabel('y'+str(i), fontsize=10)
plt.tight_layout()
plt.savefig('myfigure_100.png', dpi=100)
plt.savefig('myfigure_200.png', dpi=200)
如果你想显示它,你可以在scrpit的末尾添加plt.show()
编辑
图形大小的dpi与字体大小的关系可以在以下示例中显示:
import matplotlib.pyplot as plt
#First normal figure
fig1, axarr1 = plt.subplots(2,2, figsize=(6,6), dpi=100)
for i,ax in enumerate(axarr1.flatten()):
ax.plot(range(10))
ax.set_title('title'+str(i), fontsize=10)
ax.set_xlabel('x'+str(i), fontsize=10)
ax.set_ylabel('y'+str(i), fontsize=10)
plt.tight_layout()
fig2, axarr2 = plt.subplots(2,2, figsize=(12,12), dpi=50)
for i,ax in enumerate(axarr2.flatten()):
ax.plot(range(10))
ax.set_title('title'+str(i), fontsize=20)
ax.set_xlabel('x'+str(i), fontsize=20)
ax.set_ylabel('y'+str(i), fontsize=20)
plt.tight_layout()
plt.show()
内容总结
以上是互联网集市为您收集整理的python – 在matplotlib中调整图形质量全部内容,希望文章能够帮你解决python – 在matplotlib中调整图形质量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。