python - 为什么 plt.figure(figsize=(X,y)) 不改变我的 .hist 和 .plot 的大小?
问题描述
我对轴的概念有点困惑,坦率地说 - 当涉及到 matplotlib 后端时,什么会修改什么。我在这篇文章中被告知“每当您第一次执行需要轴对象的操作时,都会为您创建一个并成为您未来所有操作的默认对象,直到您将当前轴更改为其他对象。”
但是,为什么当我在 Jupyter 笔记本的相同单元格中使用以下代码时, figsize 似乎没有做任何事情:
dataset[['TV','radio']].plot()
plt.figure(figsize=(5,10))
并且
dataset.hist()
plt.figure(figsize=(10,20))
为什么这些都不行?如何判断我引用的是哪个轴对象?非常感谢
解决方案
问题是plt.figure
创建了一个新的数字。
如果要调整现有图形的大小,请使用:
dataset[['TV','radio']].plot()
fig = plt.gcf() # gcf: get current figure
fig.set_size_inches(5,10)
你可以这样做的另一种方法——这说明了轴是如何创建和以后使用的——是从这样的图形大小开始:
import numpy as np, pandas as pd
df = pd.DataFrame({'x':[np.random.randint(0,10) for i in range(10)]})
fig = plt.figure(figsize=(5,5))
ax = fig.gca() # gca: get current axes
df.plot(ax=ax)
推荐阅读
- .net - 我的 EF Core FromSqlRaw 查询将奇怪的数据返回到我的数据存储库服务中的列表中。(在 Blazor 服务器应用中)
- android - Android 在特定频率上生成 Shepard Tone
- java - Spring Boot 计划任务未运行
- java - 遇到 java.lang.NullPointerException
- laravel - 不能在 Laravel 8 中使用遗留工厂
- python - Matlab中ndarray的访问属性
- reactjs - 我可以同时使用功能组件和类组件吗?
- postgresql - Hasura 的“事件触发器”是否支持其内部表的触发器?
- python - 尝试调用 NetworkX 上的 GML 文件时,Python-AttributeError: 'int' object has no attribute 'decode'"
- asp.net-core - 身份服务器中间件 ASP NET 核心页面样式