chi*_*kiy 14 python matplotlib pandas
如何在jupyter笔记本中更改figsize for matshow()?
例如,此代码更改图形大小
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
d = pd.DataFrame({'one' : [1, 2, 3, 4, 5],
'two' : [4, 3, 2, 1, 5]})
plt.figure(figsize=(10,5))
plt.plot(d.one, d.two)
Run Code Online (Sandbox Code Playgroud)
但是下面的代码不起作用
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
d = pd.DataFrame({'one' : [1, 2, 3, 4, 5],
'two' : [4, 3, 2, 1, 5]})
plt.figure(figsize=(10,5))
plt.matshow(d.corr())
Run Code Online (Sandbox Code Playgroud)
Imp*_*est 27
默认情况下,plt.matshow()会生成自己的图形,因此plt.figure()将创建两个图形,并且承载matshow图形的图形不是具有figsize集合的图形.
有两种选择:
使用fignum参数
plt.figure(figsize=(10,5))
plt.matshow(d.corr(), fignum=1)
Run Code Online (Sandbox Code Playgroud)使用matplotlib.axes.Axes.matshow而不是使用绘制matshow pyplot.matshow.
fig, ax = plt.subplots(figsize=(10,5))
ax.matshow(d.corr())
Run Code Online (Sandbox Code Playgroud)这些解决方案对我不起作用,但我找到了另一种方法:
plt.figure(figsize=(10,5))
plt.matshow(d.corr(), fignum=1, aspect='auto')
Run Code Online (Sandbox Code Playgroud)
通过@ImportanceOfBeingErnest 改进解决方案,
matfig = plt.figure(figsize=(8,8))
plt.matshow(d.corr(), fignum=matfig.number)
Run Code Online (Sandbox Code Playgroud)
这样你就不需要跟踪数字。
| 归档时间: |
|
| 查看次数: |
10627 次 |
| 最近记录: |