File:Csv-2d-gaussian-multivarate-distributions.svg

Original file(SVG file, nominally 639 × 468 pixels, file size: 1.78 MB)

Summary

Description
English: Multivariate Gaussian Distributions
Deutsch: Multiariate Gauss-Verteilungen
 
and
 
and
 
Date
Source Own work
Author MartinThoma
 
W3C-validity not checked.

Source is available at github

LaTeX Code

\documentclass[varwidth=true, border=5pt]{article}
\usepackage[active,tightpage]{preview}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning} 
\usepackage{helvet}
\usepackage[eulergreek]{sansmath}

\begin{document}
\begin{preview}
\begin{tikzpicture}
    \begin{axis}[
        width=13.4cm,
        height=10.0cm,
        % Grid
        grid = major,
        % size
        xmin= 40,     % start the diagram at this x-coordinate
        xmax= 90,   % end   the diagram at this x-coordinate
        ymin= 0,     % start the diagram at this y-coordinate
        ymax= 60, % end   the diagram at this y-coordinate
        % Legende
        legend style={
            font=\large\sansmath\sffamily,
            at={(0.5,-0.18)},
            anchor=north,
            legend cell align=left,
            legend columns=-1,
            column sep=0.5cm
        },
        % Ticks
        tick align=inside,
        every axis/.append style={font=\large\sansmath\sffamily},
        minor tick style={thick},
        scaled y ticks = false,
        % Axis
        axis line style = {very thick,shorten <=-0.5\pgflinewidth},
        axis lines = middle,
        axis line style = very thick,
        xlabel=Gesamtausgaben,
        x label style={at={(axis description cs:0.5,-0.05)},
                       anchor=north,
                       font=\boldmath\sansmath\sffamily\Large},
        ylabel=Luxusausgaben,
        y label style={at={(axis description cs:-0.05,0.5)},
                       anchor=south,
                       rotate=90,
                       font=\boldmath\sansmath\sffamily\Large},
        ]
\addplot[
scatter,
only marks,
point meta=explicit symbolic,
scatter/classes={
a={mark=x,red!90!black},%
b={mark=x,cyan!50!black}},
]
table[col sep=comma, meta=label] {data.csv};

\addplot[
scatter,
only marks,
point meta=explicit symbolic,
scatter/classes={
b={mark=*,mark size=3pt,red!30!white,draw=black},%
c={mark=*,mark size=3pt,cyan!30!white,draw=black},%
a={mark=*,mark size=3pt,green!70!black,draw=black}},
]
table[meta=label] {
    x   y   label
    65  35  a
    70  40  b
    60  20  c
};
% \addlegendentry{Gruppe 1}
% \addlegendentry{Gruppe 2}
\end{axis}
\end{tikzpicture}
\end{preview}
\end{document}

Data

The data is available at GitHub. However, you can create similar data with the following Python code:

#!/usr/bin/env python

import matplotlib.pyplot as plt
import numpy
import csv

cov = [[25, 20], [20, 25]]  # diagonal covariance, points lie on x or y-axis

meanI = [70, 40]
datapointsI = 2000

meanII = [60, 20]
datapointsII = 2000

dataI = numpy.random.multivariate_normal(meanI, cov, datapointsI).T
x, y = dataI
plt.plot(x, y, 'x')

dataII = numpy.random.multivariate_normal(meanII, cov, datapointsII).T
x, y = dataII
plt.plot(x, y, 'x')

plt.axis('equal')
plt.show()

data = []
xs, ys = dataI
for x, y in zip(xs, ys):
    data.append([x, y, 'a'])
xs, ys = dataII
for x, y in zip(xs, ys):
    data.append([x, y, 'b'])

# Write data to csv files
with open("data.csv", 'wb') as csvfile:
    csvfile.write("x,y,label\n")
    spamwriter = csv.writer(csvfile, delimiter=',',
                            quotechar='"', quoting=csv.QUOTE_MINIMAL)
    for datapoint in data:
        spamwriter.writerow(datapoint)

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

23 August 2014

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current23:56, 31 August 2014Thumbnail for version as of 23:56, 31 August 2014639 × 468 (1.78 MB)MartinThomaAdded line where that divides both probabilities
15:12, 29 August 2014Thumbnail for version as of 15:12, 29 August 2014639 × 468 (2.13 MB)MartinThomaAdded label to green node; made nodes bigger
16:42, 23 August 2014Thumbnail for version as of 16:42, 23 August 2014639 × 468 (1.43 MB)MartinThomaImproved readability: Sans-Serif fonts; thicker markers
16:28, 23 August 2014Thumbnail for version as of 16:28, 23 August 2014640 × 395 (1.45 MB)MartinThoma{{Information |Description ={{en|1=Multivariate Gaussian Distributions}} {{de|1=Multiariate Gauss-Verteilungen}} |Source ={{own}} |Author =MartinThoma |Date =2014-08-23 |Permission = |other_versions...
The following pages on the English Wikipedia use this file (pages on other projects are not listed):

Global file usage

The following other wikis use this file:

Metadata