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}
|
||||
\pgfplotsset{compat=1.10}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{arrows,positioning}
|
||||
\usetikzlibrary{arrows, positioning}
|
||||
\usepackage{helvet}
|
||||
\usepackage[eulergreek]{sansmath}
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
|||
y label style={at={(axis description cs:-0.05,0.5)},
|
||||
anchor=south,
|
||||
rotate=90,
|
||||
font=\boldmath\sansmath\sffamily\Large},
|
||||
font=\boldmath\sansmath\sffamily\Large}
|
||||
]
|
||||
\addplot[
|
||||
scatter,
|
||||
|
@ -65,9 +65,9 @@ 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}},
|
||||
b={mark=*,mark size=4pt,red!30!white,draw=black},%
|
||||
c={mark=*,mark size=4pt,cyan!30!white,draw=black},%
|
||||
a={mark=*,mark size=4pt,green!70!black,draw=black,pin=135:{\color{black}$(65, 35)$},label={(65, 35)}] {}}},
|
||||
]
|
||||
table[meta=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 csv
|
||||
|
||||
cov = [[25, 20], [20, 25]] # diagonal covariance, points lie on x or y-axis
|
||||
|
||||
meanI = [70, 40]
|
||||
datapointsI = 2000
|
||||
def main(n):
|
||||
cov = [[25, 20], [20, 25]]
|
||||
|
||||
meanII = [60, 20]
|
||||
datapointsII = 2000
|
||||
meanI = [70, 40]
|
||||
datapointsI = n
|
||||
|
||||
dataI = numpy.random.multivariate_normal(meanI, cov, datapointsI).T
|
||||
x, y = dataI
|
||||
plt.plot(x, y, 'x')
|
||||
meanII = [60, 20]
|
||||
datapointsII = n
|
||||
|
||||
dataII = numpy.random.multivariate_normal(meanII, cov, datapointsII).T
|
||||
x, y = dataII
|
||||
plt.plot(x, y, 'x')
|
||||
dataI = numpy.random.multivariate_normal(meanI, cov, datapointsI).T
|
||||
x, y = dataI
|
||||
plt.plot(x, y, 'x')
|
||||
|
||||
plt.axis('equal')
|
||||
plt.show()
|
||||
dataII = numpy.random.multivariate_normal(meanII, cov, datapointsII).T
|
||||
x, y = dataII
|
||||
plt.plot(x, y, 'x')
|
||||
|
||||
data = []
|
||||
xs, ys = dataI
|
||||
for x, y in zip(xs, ys):
|
||||
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):
|
||||
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:
|
||||
# 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