相关疑难解决方法(0)

如何用Image Magick将SVG转换为PNG?

我有一个SVG文件,其定义大小为16x16.当我使用Image Magick的转换程序将其转换为PNG时,我得到一个16x16像素的PNG,这太小了:

convert test.svg test.png
Run Code Online (Sandbox Code Playgroud)

我需要指定输出PNG的像素大小.-size参数似乎被忽略,-scale参数在转换为PNG 缩放PNG.到目前为止,我通过使用-density参数得到了最好的结果:

convert -density 1200 test.svg test.png
Run Code Online (Sandbox Code Playgroud)

但是我不满意,因为我想要以像素为单位指定输出大小而不用数学来计算密度值.所以我想做这样的事情:

convert -setTheOutputSizeOfThePng 1024x1024 test.svg test.png
Run Code Online (Sandbox Code Playgroud)

那么我在这里使用的神奇参数是什么?

svg png imagemagick

358
推荐指数
15
解决办法
18万
查看次数

如何在Jupyter笔记本中制作内联图?

我用" %matplotlib inline." 在我的Ipython笔记本上内嵌了我的情节.

现在,情节出现了.但是,它非常小.是否有办法使用笔记本设置或绘图设置使其看起来更大?

在此输入图像描述

python matplotlib ipython jupyter-notebook

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

在matplotlib中删除已保存图像周围的空白区域

我需要拍摄一张图像并在一些过程后保存.当我显示它时,图形看起来很好,但是当我保存图形时,我在保存的图像周围有一些空白区域.我试过方法的'tight'选项savefig,也没用.代码:

  import matplotlib.image as mpimg
  import matplotlib.pyplot as plt

  fig = plt.figure(1)
  img = mpimg.imread(path)
  plt.imshow(img)
  ax=fig.add_subplot(1,1,1)

  extent = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
  plt.savefig('1.png', bbox_inches=extent)

  plt.axis('off') 
  plt.show()
Run Code Online (Sandbox Code Playgroud)

我试图通过在图上使用NetworkX绘制基本图并保存它.我意识到没有图形它可以工作,但是当添加图形时,我会在保存的图像周围获得空白区域;

import matplotlib.image as mpimg
import matplotlib.pyplot as plt
import networkx as nx

G = nx.Graph()
G.add_node(1)
G.add_node(2)
G.add_node(3)
G.add_edge(1,3)
G.add_edge(1,2)
pos = {1:[100,120], 2:[200,300], 3:[50,75]}

fig = plt.figure(1)
img = mpimg.imread("C:\\images\\1.jpg")
plt.imshow(img)
ax=fig.add_subplot(1,1,1)

nx.draw(G, pos=pos)

extent = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
plt.savefig('1.png', bbox_inches = extent)

plt.axis('off') 
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

138
推荐指数
10
解决办法
11万
查看次数

指定并保存具有精确大小(以像素为单位)的图形

说我的图像大小为3841 x 7195像素.我想将图中的内容保存到磁盘,从而产生一个我指定的确切大小的图像(以像素为单位).

没有轴,没有标题.只是图像.我个人并不关心DPI,因为我只想指定图像在磁盘屏幕中所占的大小(以像素为单位).

我已经阅读了其他 主题,他们似乎都转换为英寸,然后以英寸为单位指定数字的尺寸,并以某种方式调整dpi.我想避免处理像素到英寸转换可能导致的精度损失.

我尝试过:

w = 7195
h = 3841
fig = plt.figure(frameon=False)
fig.set_size_inches(w,h)
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
ax.imshow(im_np, aspect='normal')
fig.savefig(some_path, dpi=1)
Run Code Online (Sandbox Code Playgroud)

没有运气(Python抱怨宽度和高度必须都低于32768(?))

一切从我所看到的,matplotlib需要到指定的数字大小inchesdpi,但我只关心像素的数字发生在磁盘上.我怎样才能做到这一点?

澄清:我正在寻找一种方法matplotlib,而不是与其他图像保存库.

python matplotlib scipy

127
推荐指数
4
解决办法
13万
查看次数

如何在ipython笔记本中设置matplotlib图的默认大小?

我使用"$ ipython notebook --pylab inline"来启动ipython笔记本.显示matplotlib图形尺寸对我来说太大了,我必须手动调整它.如何设置单元格中显示的图形的默认大小?

matplotlib ipython-notebook

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

在matplotlib中更改数字大小和数字格式

我想要获得4 x 3英寸大小的fig1,并以tiff格式更正下面的程序:

import matplotlib.pyplot as plt
list1 = [3,4,5,6,9,12]
list2 = [8,12,14,15,17,20]
plt.plot(list1, list2)
plt.savefig('fig1.png', dpi = 300)
plt.close()
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

python matplotlib python-2.7 python-3.x

56
推荐指数
4
解决办法
26万
查看次数

matplotlib - 增加分辨率以查看详细信息

我有一个由任务组成的大流程(大约600个),我创建了一个数字来观察它们的启动顺序和时间.为此,我使用了matplotlib和一个barh.

这个数字还可以(我的第一个matplotlib成功!),但是:

  • 我希望在导出时看到细节并放大图片(例如PNG),因为当matplotlib使用show()命令显示结果时,缩放选项允许
  • Y轴的图例太近,不可读

我试图提高分辨率,就像在其他SO帖子中所说的那样,这更好,但细节不够精确.以下是我到目前为止的结果:

  • 完整的结果

充分

  • 用matplotlib缩放

放大

你知道我如何提高可读性吗?非常感谢(否则,我的所有努力都将毫无用处,我担心......)

PS:我正在使用matplotlib 1.1.1和python 2.7.

python matplotlib

37
推荐指数
2
解决办法
9万
查看次数

在matplotlib中自动调整图形大小

有没有办法自动调整图形大小以正确拟合matplotlib/pylab图像中包含的图?

我正在根据使用的数据创建长宽比不同的热图(子)图.

我意识到我可以计算宽高比并手动设置它,但肯定有一种更简单的方法吗?

python matplotlib

35
推荐指数
4
解决办法
7万
查看次数

matclotlib中的rc Params:"rc"代表什么?

据说matplotlibrc配置文件用于自定义各种属性matplotlib,可以动态更改默认rc设置以自定义默认参数,例如:

matplotlib.rcParams['font.family'] = 'times new roman'
Run Code Online (Sandbox Code Playgroud)

......但是:"rc"代表什么?


PS:对不起,这本身并不是一个编程问题,但这很可能是最好的讨论地点matplotlib......而且我在文档中找不到完整的词汇.

python matplotlib

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

dpi与数字大小之间的关系

我使用matplotlib创建了一个图,但我已经意识到绘图轴和绘制的线被缩小了. 在此输入图像描述

阅读这个早期的讨论主题,它解释了如何设置数字大小.

fig, ax = plt.subplots()

fig.set_size_inches(3, 1.5)

plt.savefig(file.jpeg, edgecolor='black', dpi=400, facecolor='black', transparent=True)

使用上面的代码(为简洁起见,删除了其他配置),我确实得到了一个具有1200 X 600所需尺寸的结果图像文件(我们应该说分辨率吗?)和所需的文件大小.

投影图像以不寻常的方式缩小,例如注释被放大.我可以在轴上设置标签的大小,但由于底部和右侧的脊仍然很大,因此图形仍然看起来与标尺不成比例,因此绘制的线也是如此.

所以问题是,我们如何解决这个问题,哪些配置出错?

plot visualization graph matplotlib

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