相关疑难解决方法(0)

Matplotlib绘图:删除轴,图例和空格

我是Python和Matplotlib的新手,我想简单地将colormap应用于图像并编写生成的图像,而不使用轴,标签,标题或通常由matplotlib自动添加的任何内容.这是我做的:

def make_image(inputname,outputname):
    data = mpimg.imread(inputname)[:,:,0]
    fig = plt.imshow(data)
    fig.set_cmap('hot')
    fig.axes.get_xaxis().set_visible(False)
    fig.axes.get_yaxis().set_visible(False)
    plt.savefig(outputname)
Run Code Online (Sandbox Code Playgroud)

它成功地移除了图形的轴,但保存的图形呈现白色填充和实际图像周围的框架.如何删除它们(至少是白色填充)?谢谢

python matplotlib

240
推荐指数
10
解决办法
38万
查看次数

如何在matplotlib中删除顶部和右侧轴?

我想要只有左轴和下轴,而不是默认的"盒装"轴样式,即:

+------+         |
|      |         |
|      |   --->  |
|      |         |
+------+         +-------
Run Code Online (Sandbox Code Playgroud)

这应该很简单,但我在文档中找不到必要的选项.

python matplotlib

105
推荐指数
7
解决办法
8万
查看次数

从python生成电影而不将单个帧保存到文件

我想从我在matplotlib的python脚本中生成的帧创建一个h264或divx电影.这部电影大约有10万帧.

在网络上的例子中[例如 1],我只看到了将每个帧保存为png然后在这些文件上运行mencoder或ffmpeg的方法.就我而言,保存每一帧是不切实际的.有没有办法从matplotlib生成一个图并将其直接传递给ffmpeg,不生成中间文件?

用ffmpeg的C-api编程对我来说太难了[例如.2].此外,我需要一个具有良好压缩的编码,例如x264,因为电影文件对于后续步骤来说太大了.所以坚持使用mencoder/ffmpeg/x264会很棒.

有什么东西可以通过管道来完成[3]?

[1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html

[2] 如何使用x264 C API将一系列图像编码为H264?

[3] http://www.ffmpeg.org/ffmpeg-doc.html#SEC41

python ffmpeg numpy matplotlib x264

69
推荐指数
5
解决办法
5万
查看次数

如何在Matplotlib(python)中隐藏轴和网格线

我希望能够在3D matplotlib图上隐藏轴和网格线.我想这样做,因为当放大和缩小图像变得非常讨厌.我不确定这里要包含哪些代码,但这是我用来创建图形的代码.

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.view_init(30, -90)
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
plt.xlim(0,pL)
plt.ylim(0,pW)
ax.set_aspect("equal")

plt.show()
Run Code Online (Sandbox Code Playgroud)

这是我正在看的情节的一个例子:
这是我正在看的情节的一个例子

python matplotlib

20
推荐指数
2
解决办法
5万
查看次数

如何生成单词频率直方图,其中条形根据其高度排序

我有很长的单词列表,我想生成列表中每个单词频率的直方图.我能够在下面的代码中这样做:

import csv
from collections import Counter
import numpy as np

word_list = ['A','A','B','B','A','C','C','C','C']

counts = Counter(merged)

labels, values = zip(*counts.items())

indexes = np.arange(len(labels))

plt.bar(indexes, values)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,它不按等级显示分档(即按频率显示,因此最高频率是左边的第一个分箱,依此类推),即使我打印counts它时也为我命令Counter({'C': 4, 'A': 3, 'B': 2}).我怎么能实现这一目标?

python matplotlib ranking histogram python-2.7

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

如何删除 pyplot.bar 中的轴?

是否有可能在没有 y-(x-) 轴的情况下绘制条形图?在演示中,所有冗余信息都必须删除,所以我想开始删除轴。我在 matplotlib 文档中没有看到有用的信息。也许你有比 pyplot 更好的解决方案..?

编辑:除了底部的轴之外,我希望在条形周围有线条。这可能吗

#!/usr/bin/env python 
import matplotlib.pyplot as plt

ind = (1,2,3)
width = 0.8
fig = plt.figure(1)
p1 = plt.bar(ind,ind)
# plt.show() 
fig.savefig("test.svg")
Run Code Online (Sandbox Code Playgroud)

编辑:我没有看到使用 plt.show() 仍然有没有刻度的 yaxis。

python matplotlib bar-chart

2
推荐指数
1
解决办法
6434
查看次数

标签 统计

matplotlib ×6

python ×6

bar-chart ×1

ffmpeg ×1

histogram ×1

numpy ×1

python-2.7 ×1

ranking ×1

x264 ×1