python - 如何定义 matplotlib 图形的纵横比?
问题描述
Python 生成适合其内容的纵横比,例如,尊重每个标签的字体结构、轴标题等。这是使用 Jupyter Notebook 的基本代码:
fig, ax = plt.subplots()
ax.boxplot(dataLipid)
ax.set_title("Lipid contact analysis")
plt.xticks([1,2,3,4,5],["x4 Monomers","x2 Monomers\nDimer","x2 Dimers","Monomer\nTrimer", "x4mer"])
plt.show()
但是,我想将图像保存为 tiff,dpi 为 600,宽度为 8.3 厘米(最大高度是 A4 页面,但我的问题的性质将使其无关紧要)。
我正在使用代码:
fig.savefig("bar.tiff", dpi=600, format="tiff", pil_kwards = {"compression":"tiff_lzm"})
这会产生以下结果:
到目前为止一切都很好。接下来是皇家社会。of Chemistry 预计单列图像的宽度为 8.3 厘米(高度,不超过页面)。
我的问题: Python 有什么方法可以计算仅给出 wdith 的图形高度,同时保持字体、标题和刻度等的正确纵横比?如果我指定宽度=高度,图像看起来很糟糕:
fig.set_size_inches(3.26,3.26)
fig.savefig("bar.tiff", dpi=600, format="tiff", pil_kwards = {"compression":"tiff_lzm"})
或者这是我先定义图形大小,然后单独调整字体大小的情况?我正在寻找更多的单一解决方案,因为我有多个不同尺寸要求的图形(尽管都是 dpi=600)要制作。
解决方案
推荐阅读
- java - 为什么使用 setText 后 Gtk TextBuffer onChanged 会被调用两次?
- git - 无需提交,调用 git checkout 后清理工作树
- node.js - npm install 进程突然停止
- c++11 - C ++中priority_queue类中swap()函数的用途是什么?
- c - (翻转排序)相同的输入,但在 ideone 和代码块中的输出不同
- asp.net-mvc - Webapi 响应 500 内部服务器错误
- c++ - c++ 用 std::string 覆盖 [] 运算符
- kivy - 如何动态访问孩子的财产?
- javascript - JavaScript D3:颜色区域的重叠
- mongodb - Mongo + Spring Boot 应用程序 - E11000 重复键错误