Questions tagged «matplotlib»

Matplotlib是Python的绘图库,可以交互使用或嵌入独立的GUI中。其紧凑的“ pyplot”界面类似于MATLAB®的绘图功能。

5
如何在matplotlib中的给定图上绘制垂直线?
给定时间表示中的信号图,如何绘制标记相应时间索引的线? 具体来说,给定时间索引范围从0到2.6(s)的信号图,我想绘制垂直红线以指示列表的相应时间索引[0.22058956, 0.33088437, 2.20589566],我该怎么办?
259 python  matplotlib 

19
有没有一种方法可以分离matplotlib图,以便继续计算?
在Python解释器中执行了这些指令后,将获得一个带有绘图的窗口: from matplotlib.pyplot import * plot([1,2,3]) show() # other code 不幸的是,show()当程序进行进一步的计算时,我不知道如何继续交互式地探索创建的图形。 有可能吗?有时计算很长,如果可以在检查中间结果时进行计算,则将有所帮助。
258 python  matplotlib  plot 



2
matplotlib图例标记仅一次
我经常使用以下命令在matplotlib图上绘制点: x = 10 y = 100 plot(x, y, "k*", label="Global Optimum") legend() 但是,这会导致图例两次在图例中放置一颗星星,如下所示: * * Global Optimum 当我真的希望它看起来像: * Global Optimum 我该怎么做呢?
238 python  matplotlib 

4
Matplotlib不同大小的子图
我需要在图中添加两个子图。一个子图的宽度大约是第二个子图的三倍(相同的高度)。我使用GridSpec和colspan参数完成了此操作,但是我想使用来完成此操作,figure因此可以保存为PDF。我可以使用figsize构造函数中的参数调整第一个图形,但是如何更改第二个图形的大小?

10
Matplotlib 2个子图,1个颜色条
我花了太多的时间研究如何在Matplotlib中使用两个颜色共享的单个颜色条来使两个子图共享相同的y轴。 发生的是,当我colorbar()在subplot1或中调用函数时subplot2,它将自动缩放绘图,以使颜色栏和绘图可以放入“子图”边界框内,从而导致两个并排的绘图有两个不同大小。 为了解决这个问题,我尝试创建了第三个子图,然后黑客入侵了它,仅用一个颜色条就不渲染任何图。唯一的问题是,现在两个图的高度和宽度是不均匀的,我不知道如何使它看起来还不错。 这是我的代码: from __future__ import division import matplotlib.pyplot as plt import numpy as np from matplotlib import patches from matplotlib.ticker import NullFormatter # SIS Functions TE = 1 # Einstein radius g1 = lambda x,y: (TE/2) * (y**2-x**2)/((x**2+y**2)**(3/2)) g2 = lambda x,y: -1*TE*x*y / ((x**2+y**2)**(3/2)) kappa = lambda …

12
使用matplotlib在单个图表上绘制两个直方图
我使用文件中的数据创建了直方图,没问题。现在,我想在同一直方图中叠加来自另一个文件的数据,所以我要做类似的事情 n,bins,patchs = ax.hist(mydata1,100) n,bins,patchs = ax.hist(mydata2,100) 但是问题在于,对于每个间隔,只有最高值的条出现,而另一个被隐藏。我想知道如何同时用不同的颜色绘制两个直方图。

12
如何使用matplotlib在while循环中实时绘制?
我正在尝试使用OpenCV从摄像机实时绘制一些数据。但是,实时绘图(使用matplotlib)似乎不起作用。 我将问题隔离到以下简单示例中: fig = plt.figure() plt.axis([0, 1000, 0, 1]) i = 0 x = list() y = list() while i < 1000: temp_y = np.random.random() x.append(i) y.append(temp_y) plt.scatter(i, temp_y) i += 1 plt.show() 我希望该示例可以单独绘制1000点。实际发生的是,窗口弹出并显示第一个点(表示正确),然后等待循环结束,然后再填充图的其余部分。 有什么想法为什么我一次看不到点呢?

7
使用matplotlib将图像显示为灰度
我正在尝试使用matplotlib.pyplot.imshow()显示灰度图像。我的问题是灰度图像显示为颜色图。我需要灰度,因为我想在图像上用颜色绘制。 我读入图像并使用PIL的Image.open()。convert(“ L”)转换为灰度 image = Image.open(file).convert("L") 然后,我将图像转换为矩阵,以便可以轻松地使用 matrix = scipy.misc.fromimage(image, 0) 但是,当我这样做 figure() matplotlib.pyplot.imshow(matrix) show() 它使用颜色图显示图像(即不是灰度)。 我在这里做错了什么?

7
如何更改情节背景颜色?
我正在matplotlib中制作散点图,需要将实际图的背景更改为黑色。我知道如何使用以下方法更改情节的脸色: fig = plt.figure() fig.patch.set_facecolor('xkcd:mint green') 我的问题是,这会改变情节周围空间的颜色。如何更改绘图的实际背景颜色?
226 python  matplotlib 

7
如何在Matplotlib中的子图中添加标题?
我有一个包含许多子图的图。 fig = plt.figure(num=None, figsize=(26, 12), dpi=80, facecolor='w', edgecolor='k') fig.canvas.set_window_title('Window Title') # Returns the Axes instance ax = fig.add_subplot(311) ax2 = fig.add_subplot(312) ax3 = fig.add_subplot(313) 如何为子图添加标题? fig.suptitle为所有图形添加标题,尽管ax.set_title()存在,但后者不向我的子图添加任何标题。 谢谢您的帮助。 编辑:纠正了有关的错字set_title()。谢谢罗格·卡西斯

3
将matplotlib图例移到轴外使其被图框切断
我熟悉以下问题: Matplotlib savefig在图外带有图例 如何将图例排除在情节之外 这些问题的答案似乎很奢侈,它能够摆弄轴的确切收缩,以使图例适合。 但是,缩小轴并不是一个理想的解决方案,因为它会使数据变小,从而实际上更难以解释。特别是当它复杂并且有很多事情要发生时...因此需要一个大的传说 文档中复杂图例的示例说明了此需求,因为其图中的图例实际上完全遮盖了多个数据点。 http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots 我想做的是动态扩展图形框的大小,以适应扩展的图形图例。 import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0)) ax.grid('on') 请注意,最终标签“ Inverse tan”实际上是如何位于图形框之外的(看起来很不完整-而不是出版物质量!) 最后,有人告诉我这是R和LaTeX中的正常行为,所以我有些困惑,为什么在python中如此困难……是否有历史原因?Matlab在这件事上是否同样贫穷? 我在pastebin http://pastebin.com/grVjc007上有(仅略长)此代码的较长版本


10
修改刻度标签文本
我想对图中的几个选定的刻度标签进行一些修改。 例如,如果我这样做: label = axes.yaxis.get_major_ticks()[2].label label.set_fontsize(size) label.set_rotation('vertical') 字体大小和刻度标签的方向已更改。 但是,如果尝试: label.set_text('Foo') 蜱标签不修改。另外,如果我这样做: print label.get_text() 什么都不会打印。 这里有些奇怪。当我尝试这个: 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() 仅打印空字符串,但图中包含标记为“ 0.0”,“ 0.5”,“ 1.0”,“ 1.5”和“ 2.0”的刻度。
215 python  matplotlib 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.