在matplotlib中合并两个已有的图(png文件)
我有两个已经生成的图(我们叫它们plot1和plot2),是用matplotlib制作的。这些图被保存为png文件。我没有办法获取到原始数据。
我想把这两个图合成一个:第一个图用一种颜色,第二个图用另一种颜色叠加在第一个图上。
这些图是通过很长时间的计算生成的,正如之前所说,我没有办法获取到原始数据。我想知道有没有办法从这些文件中提取出数值,然后创建一个“合并”的图。
我试过在这里得到的答案,但因为我无法访问数据,所以没办法让它在我的程序中工作。
1 个回答
-2
你可以这样做:
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()
如果你想用两种不同的刻度来绘图,你只需要稍微修改一下:
fig, ax1 = plt.subplots()
ax1.plot(data['x'],data['y1'], 'b')
ax2 = ax1.twinx()
ax2.plot(data['x'],data['y2'], 'g')