Plotted ECG signals are not around Amplitude 0 line For my project I have to have few datasets of ECG signals and I did get them from Physionet website.

What I Got

So I downloaded few ECG signals and plotted them in Matlab. Below shows one plot (I lead) I got. 


As you can see, this signal is not in the Amplitude 0 line. But all the ECG recordings I have seen and saw in research papers are horizontal. Like in below image.



My Question

I'm new to ECG signal processing. So I'm curious to know, 

1)Whether datasets having this kind of abnormal behavior of ECG are wrong?

2)Is there any Matlab function which can convert such data to view like in 2nd image I attached?

UPDATE

To download the dataset,

https://www.physionet.org/cgi-bin/atm/ATM

Go to the above link and select "PTB Diagnosed ECG database" as the Database and select a patient record (E.g: s0010_re).
I have tried the BEADS technique we have developed for the separation of 


sparse signals, possibly positive, with sparse derivatives,
a trend (low frequency),
random noise.


I have played with one signal for about two minutes, and here is one outcome:



It is called BEADS, for  "Baseline Estimation And Denoising with Sparsity". The Matlab BEADS code is at MatlabCentral, the paper is Chromatogram baseline estimation and denoising using sparsity (BEADS). It was initially meant for chromatographic signals, but is also used for EEG/ECG and several other spectral signal, see the BEADS page .

One nice feature is that you directly see the noise (and how uncorrelated it can be) and the shape of the trend, then tweak the parameters. Mine (probably not optimal) are:

addpath('C:\Users\duvall\Documents\MATLAB\toolbox\2014_BEADS_Baseline\');
% load('s0010_rem.mat')
 data = val(1,:)';
% Filter parameters
fc = 0.004;     % fc : cut-off frequency (cycles/sample)
d = 1;          % d : filter order parameter (d = 1 or 2)
% Positivity bias (peaks are mostly symmetric)
r = 1;          % r : asymmetry parameter
% Regularization parameters
amp = 0.8;
lam0 = 0.5*amp;
lam1 = 5*amp;
lam2 = 4*amp;

[x1, f1, cost] = beads(data, d, fc, r, lam0, lam1, lam2);
figure(2);
subplot(4,1,1)
h=plot([data]);axis tight;grid on;set(h,'LineWidth',2);
subplot(4,1,2)
h=plot([x1]);axis tight;grid on;set(h,'LineWidth',2);
subplot(4,1,3)
h=plot([f1]);axis tight;grid on;set(h,'LineWidth',2);
subplot(4,1,4)
h=plot([data-x1-f1]);axis tight;grid on;set(h,'LineWidth',2);


Basically, it took me 10-times more  to download and load the signal than to tune the parameters (90 seconds approximately), but I know the code :)