【问题标题】:Merge two already existing plots (png files) in matplotlib在 matplotlib 中合并两个已经存在的图(png 文件)
【发布时间】:2014-08-12 13:42:42
【问题描述】:

我有 2 个现有的图(让我们将它们命名为 plot1 和 plot2),是用 matplotlib 生成的。这些图保存为 png 文件。我无权访问数据。
我想将这些图合并为一个:第一个使用一种颜色,第二个使用与另一个不同的颜色。
这些图是通过非常长的计算生成的,如前所述,我无法访问原始数据。我想知道是否有某种方法可以从文件中获取值并创建“合并”图。

我已经尝试了here 的回答,但由于我无法访问数据,我无法使其适用于我的程序。

【问题讨论】:

  • 嗨,欢迎来到 SO。请您详细说明一下:当前的绘图是如何生成的?它们是什么格式的?它们是否以某种格式显示或保存?这个过程对你来说是一个黑盒子吗(你说你没有数据)?
  • “原始”程序为我提供了每个数据集的图。它给我的唯一输出是散点图,导出为 png。它们的生成方式对我来说完全未知。
  • 它们被保存到 png 文件中
  • 我想我有个主意。 Check this outAnd this。如果比例相同,看起来您可以将其中一个的 alpha 更改为,例如,0.5 并绘制一个覆盖另一个。
  • @mauve 看起来很有希望。您可能想要编辑您的答案以显示一个包含两个 png 文件的最小工作示例。

标签: python matplotlib plot merge


【解决方案1】:

你可以这样做:

import matplotlib.pyplot as plt
import math
import numpy as np

data = {}

data['x'] = np.arange(0.01, 10.0, 0.01)
data['y1'] = [math.cos(i) for i in data['x']]
data['y2'] = [math.sin(i) for i in data['x']]

fig, ax1 = plt.subplots()
ax1.plot(data['x'],data['y1'])
ax1.plot(data['x'],data['y2'])

fig.show()

如果你想用 2 个不同的比例绘制,你会稍微改变一下:

fig, ax1 = plt.subplots()
ax1.plot(data['x'],data['y1'], 'b')
ax2 = ax1.twinx()
ax2.plot(data['x'],data['y2'], 'g')

【讨论】:

  • 这如何回答这个问题? OP 声明 我无法访问数据 - 您没有展示如何从一个绘图中提取数据并在另一个绘图中使用它。
  • “我无法访问数据”听起来像是 OP 在谈论链接的答案。
  • 有很多猜测。在过早发布答案之前等待澄清如何?
  • 即使无论 OP 的数据是否可用,合并两个现有图 都是问题的本质,这里没有任何内容。
  • 谢谢大家......正如 Schorsch 和 Ajean 所说,我无法访问用于制作情节的数据,所以答案对我没有用:(
猜你喜欢
  • 1970-01-01
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多