相关疑难解决方法(0)

在Matplotlib中,参数在fig.add_subplot(111)中意味着什么?

有时我遇到这样的代码:

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

哪个产生:

由包含的代码生成的示例图

我一直在疯狂阅读文档,但我无法找到解释111.有时我看到了212.

这个论点fig.add_subplot()意味着什么?

python matplotlib figure

439
推荐指数
7
解决办法
26万
查看次数

修改刻度标签文本

我想对绘图中的几个选定的刻度标签进行一些修改.

例如,如果我这样做:

label = axes.yaxis.get_major_ticks()[2].label
label.set_fontsize(size)
label.set_rotation('vertical')
Run Code Online (Sandbox Code Playgroud)

更改刻度标签的字体大小和方向.

但是,如果尝试:

label.set_text('Foo')
Run Code Online (Sandbox Code Playgroud)

刻度标签未被修改.如果我这样做:

print label.get_text()
Run Code Online (Sandbox Code Playgroud)

没有打印.

这里有些陌生.当我尝试这个时:

 from pylab import *
 axes = figure().add_subplot(111)
 t = arange(0.0, 2.0, 0.01)
 s = sin(2*pi*t)
 axes.plot(t, s)
 for ticklabel in axes.get_xticklabels():
     print ticklabel.get_text()
Run Code Online (Sandbox Code Playgroud)

仅打印空字符串,但该图包含标记为"0.0","0.5","1.0","1.5"和"2.0"的刻度线.

python matplotlib

182
推荐指数
8
解决办法
34万
查看次数

如何在matplotlib中重用图?

我想在4个轴上绘制图形,在每个轴上绘制前三个单独的绘图,最后在最后一个轴上绘制所有3个绘图.这是代码:

from numpy import *
from matplotlib.pyplot import *
fig=figure()
data=arange(0,10,0.01)
ax1=fig.add_subplot(2,2,1)
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)

line1=ax1.plot(data,data)
line2=ax2.plot(data, data**2/10, ls='--', color='green')
line3=ax3.plot(data, np.sin(data), color='red')
#could I somehow use previous plots, instead recreating them all?
line4=ax4.plot(data,data)
line4=ax4.plot(data, data**2/10, ls='--', color='green')
line4=ax4.plot(data, np.sin(data), color='red')
show()
Run Code Online (Sandbox Code Playgroud)

结果图片是:
在此输入图像描述
有没有办法首先定义图,然后将它们添加到轴,然后绘制它们?这是我心中的逻辑:

#this is just an example, implementation can be different
line1=plot(data, data)
line2=plot(data, data**2/10, ls='--', color='green')
line3=plot(data, np.sin(data), color='red')
line4=[line1, line2, line3]
Run Code Online (Sandbox Code Playgroud)

现在在ax1上绘制line1,在ax2上绘制line2,在ax3上绘制line3,在ax4上绘制line4.

python matplotlib

10
推荐指数
1
解决办法
8243
查看次数

matplotlib图中的fig和ax属性

哪个对象包含属性ylim()?在下面的代码(我已导入所需的软件包,并x1y1阴谋正确)设置y轴的限制,我不得不使用plt.ylim(),为什么会这样?在我自己的脑海中,我会使用ax1.ylim()因为y轴属于ax对象实例.有人可以解释为什么这不正确?

我在这里看到这篇文章:

为什么许多例子在Matplotlib/pyplot/python中使用"fig,ax = plt.subplots()"

这有助于澄清一点,但我仍然不确定.谢谢!

x1 = df_mstr1['datetime'].values
y1 = df_mstr1['tons'].values
fig1, ax1 = plt.subplots()
ax1.stackplot(x1, y1, color='blue')
plt.ylim(0,300)
fig1.savefig('page.pdf', format = 'pdf')
Run Code Online (Sandbox Code Playgroud)

python matplotlib

3
推荐指数
1
解决办法
877
查看次数

标签 统计

matplotlib ×4

python ×4

figure ×1