def wigner_data(q_result, meas_qubits, labels, shots=None):
    'Get the value of the Wigner function from measurement results.\n\n    Args:\n        q_result (Result): Results from execution of a state tomography\n                            circuits on a backend.\n        meas_qubits (list[int]): a list of the qubit indexes measured.\n        labels (list[str]): a list of names of the circuits\n        shots (int): number of shots\n\n    Returns:\n        list: The values of the Wigner function at measured points in\n            phase space\n    '
    num = len(meas_qubits)
    dim = (2 ** num)
    p = [(0.5 + (0.5 * np.sqrt(3))), (0.5 - (0.5 * np.sqrt(3)))]
    parity = 1
    for i in range(num):
        parity = np.kron(parity, p)
    w = ([0] * len(labels))
    wpt = 0
    counts = [marginal_counts(q_result.get_counts(circ), meas_qubits) for circ in labels]
    for entry in counts:
        x = ([0] * dim)
        for i in range(dim):
            if (bin(i)[2:].zfill(num) in entry):
                x[i] = float(entry[bin(i)[2:].zfill(num)])
        if (shots is None):
            shots = np.sum(x)
        for i in range(dim):
            w[wpt] = (w[wpt] + ((x[i] / shots) * parity[i]))
        wpt += 1
    return w
Get the value of the Wigner function from measurement results.

Args:
    q_result (Result): Results from execution of a state tomography
                        circuits on a backend.
    meas_qubits (list[int]): a list of the qubit indexes measured.
    labels (list[str]): a list of names of the circuits
    shots (int): number of shots

Returns:
    list: The values of the Wigner function at measured points in
        phase space
def wigner_data(q_result, meas_qubits, labels, shots=None):
    'Get the value of the Wigner function from measurement results.\n\n    Args:\n        q_result (Result): Results from execution of a state tomography\n                            circuits on a backend.\n        meas_qubits (list[int]): a list of the qubit indexes measured.\n        labels (list[str]): a list of names of the circuits\n        shots (int): number of shots\n\n    Returns:\n        list: The values of the Wigner function at measured points in\n            phase space\n    '
    num = len(meas_qubits)
    dim = (2 ** num)
    p = [(0.5 + (0.5 * np.sqrt(3))), (0.5 - (0.5 * np.sqrt(3)))]
    parity = 1
    for i in range(num):
        parity = np.kron(parity, p)
    w = ([0] * len(labels))
    wpt = 0
    counts = [marginal_counts(q_result.get_counts(circ), meas_qubits) for circ in labels]
    for entry in counts:
        x = ([0] * dim)
        for i in range(dim):
            if (bin(i)[2:].zfill(num) in entry):
                x[i] = float(entry[bin(i)[2:].zfill(num)])
        if (shots is None):
            shots = np.sum(x)
        for i in range(dim):
            w[wpt] = (w[wpt] + ((x[i] / shots) * parity[i]))
        wpt += 1
    return w