mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
added more random data;added parameters to multivariate-random.py
This commit is contained in:
parent
80bfd7b9ca
commit
67feb2890d
3 changed files with 6044 additions and 4032 deletions
|
@ -5,7 +5,7 @@
|
||||||
\usepackage{pgfplots}
|
\usepackage{pgfplots}
|
||||||
\pgfplotsset{compat=1.10}
|
\pgfplotsset{compat=1.10}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usetikzlibrary{arrows,positioning}
|
\usetikzlibrary{arrows, positioning}
|
||||||
\usepackage{helvet}
|
\usepackage{helvet}
|
||||||
\usepackage[eulergreek]{sansmath}
|
\usepackage[eulergreek]{sansmath}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
y label style={at={(axis description cs:-0.05,0.5)},
|
y label style={at={(axis description cs:-0.05,0.5)},
|
||||||
anchor=south,
|
anchor=south,
|
||||||
rotate=90,
|
rotate=90,
|
||||||
font=\boldmath\sansmath\sffamily\Large},
|
font=\boldmath\sansmath\sffamily\Large}
|
||||||
]
|
]
|
||||||
\addplot[
|
\addplot[
|
||||||
scatter,
|
scatter,
|
||||||
|
@ -65,9 +65,9 @@ scatter,
|
||||||
only marks,
|
only marks,
|
||||||
point meta=explicit symbolic,
|
point meta=explicit symbolic,
|
||||||
scatter/classes={
|
scatter/classes={
|
||||||
b={mark=*,mark size=3pt,red!30!white,draw=black},%
|
b={mark=*,mark size=4pt,red!30!white,draw=black},%
|
||||||
c={mark=*,mark size=3pt,cyan!30!white,draw=black},%
|
c={mark=*,mark size=4pt,cyan!30!white,draw=black},%
|
||||||
a={mark=*,mark size=3pt,green!70!black,draw=black}},
|
a={mark=*,mark size=4pt,green!70!black,draw=black,pin=135:{\color{black}$(65, 35)$},label={(65, 35)}] {}}},
|
||||||
]
|
]
|
||||||
table[meta=label] {
|
table[meta=label] {
|
||||||
x y label
|
x y label
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -4,37 +4,49 @@ import matplotlib.pyplot as plt
|
||||||
import numpy
|
import numpy
|
||||||
import csv
|
import csv
|
||||||
|
|
||||||
cov = [[25, 20], [20, 25]] # diagonal covariance, points lie on x or y-axis
|
|
||||||
|
|
||||||
meanI = [70, 40]
|
def main(n):
|
||||||
datapointsI = 2000
|
cov = [[25, 20], [20, 25]]
|
||||||
|
|
||||||
meanII = [60, 20]
|
meanI = [70, 40]
|
||||||
datapointsII = 2000
|
datapointsI = n
|
||||||
|
|
||||||
dataI = numpy.random.multivariate_normal(meanI, cov, datapointsI).T
|
meanII = [60, 20]
|
||||||
x, y = dataI
|
datapointsII = n
|
||||||
plt.plot(x, y, 'x')
|
|
||||||
|
|
||||||
dataII = numpy.random.multivariate_normal(meanII, cov, datapointsII).T
|
dataI = numpy.random.multivariate_normal(meanI, cov, datapointsI).T
|
||||||
x, y = dataII
|
x, y = dataI
|
||||||
plt.plot(x, y, 'x')
|
plt.plot(x, y, 'x')
|
||||||
|
|
||||||
plt.axis('equal')
|
dataII = numpy.random.multivariate_normal(meanII, cov, datapointsII).T
|
||||||
plt.show()
|
x, y = dataII
|
||||||
|
plt.plot(x, y, 'x')
|
||||||
|
|
||||||
data = []
|
plt.axis('equal')
|
||||||
xs, ys = dataI
|
plt.show()
|
||||||
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
|
data = []
|
||||||
with open("data.csv", 'wb') as csvfile:
|
xs, ys = dataI
|
||||||
csvfile.write("x,y,label\n")
|
for x, y in zip(xs, ys):
|
||||||
spamwriter = csv.writer(csvfile, delimiter=',',
|
data.append([x, y, 'a'])
|
||||||
quotechar='"', quoting=csv.QUOTE_MINIMAL)
|
xs, ys = dataII
|
||||||
for datapoint in data:
|
for x, y in zip(xs, ys):
|
||||||
spamwriter.writerow(datapoint)
|
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)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
|
||||||
|
parser = ArgumentParser(description=__doc__,
|
||||||
|
formatter_class=ArgumentDefaultsHelpFormatter)
|
||||||
|
parser.add_argument("-n",
|
||||||
|
dest="n", default=2000, type=int,
|
||||||
|
help="how many points should get generated")
|
||||||
|
args = parser.parse_args()
|
||||||
|
main(args.n)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue