背景
在XRD的绘制中,常常需要把XRD图谱和对应的pdf卡片放在同一张图中堆叠,来显示各个特征峰的归属。一般情况下,使用origin绘制,叠加图层的方法可以得到这种图形,然而该方法仍然需要分别绘制XRD图和pdf卡片,然后进行一定的拖拽,拖拽过程中容易平移,不容易对齐。在网上搜索python绘制该类图形,发现教程极少且很多教程语焉不详,因此尝试用python来写个程序得到此图。
思路
主要思路就是,默认XRD谱图绘制在一张大的图中,将各个卡片按照高度不同依次叠加在大图中
思路如图所示:
Fig.1. 绘制思路
因此,只需要卡片2的bottom和xrd谱图的bottom重合,卡片1的bottom和卡片2的top重合,即可。同时需注意去掉两张卡片图形的各种横纵坐标和框线等。
代码
# -*- coding: utf-8 -*-
"""
Created on Mon Dec 7 16:33:39 2020
@author: fya
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
x0value=locals()
xvalue=locals()
y0value=locals()
yvalue=locals()
for i in range(1,4):
x0value['x'+str(i)]=pd.read_csv('F:/XRD总.csv',header=None,usecols=[2*i-2]) #x1-x3是三组横坐标,横坐标在第 1,3,5列
xvalue['x'+str(i)]=np.array(x0value['x'+str(i)])
y0value['y'+str(i)]=pd.read_csv('F:/XRD总.csv',header=None,usecols=[2*i