/wellmet/gp_plot.py (5d721d117448dbb96c554ea8f0e4651ffe9ac457) (2718 bytes) (mode 100644) (type blob)
#!/usr/bin/env python
# coding: utf-8
import PyGnuplot as gp
import os
# nikdo mi neuvěří, že by tohle postačílo a nebylo by nutné tohlensto furt úpravovat
def gp_plot(sample_box, space='R', terminal='png', filename=''):
if not filename:
filename = 'store/%s_%s_%s'%(sample_box.gm_signature, space, sample_box.nsim)
if space in ['Rn', 'GK', 'G']:
gp.c('set autoscale xy')
gp.c('set size square')
gp.c('set zeroaxis')
elif space in ['P', 'U']:
gp.c('set xrange [0:1]')
gp.c('set yrange [0:1]')
gp.c('set size square')
#gp.c('set autoscale')
gp.c('unset zeroaxis')
else: # R teda?
gp.c('set size noratio')
gp.c('set autoscale')
gp.c('unset zeroaxis')
gp.c('set terminal ' + terminal)
gp.c('set output "%s.%s"'%(filename, terminal))
if os.name == 'posix':
gp.c('set decimalsign locale "POSIX"')
# legenda
gp.c('unset key')
# se mi zda, že gp bere data v řadcích
f_name = "%s_failure.dat" % (filename)
s_name = "%s_success.dat" % (filename)
gp.s(getattr(sample_box.failure_samples, space).T, f_name)
gp.s(getattr(sample_box.success_samples, space).T, s_name)
# rozkaz, který předaváme gnuplotovi
gp_plot = 'plot "%s" title "Success points" w p lc rgb "green", "%s" title "Failure points" w p lc rgb "red"' % (s_name, f_name)
# Kružničky chcete?
# Кружочки ннада?
if space in ['Rn', 'G']:
gp.c('set parametric')
for i in range(5):
lw = 2 - i*0.3
gp_plot += ', cos(t)*%s,sin(t)*%s notitle w l lc rgb "black" lw %s'%(i+1, i+1, lw)
# ne všichni majó definované hranice
try:
bounds = sample_box.get_2D_boundary()
for i in range(len(bounds)):
bound = getattr(bounds[i], space).T
gp.s(bound, "%s_boundary_%s.dat"%(filename, i+1))
gp_plot += ', "%s_boundary_%s.dat" notitle w l lc rgb "blue"'%(filename, i+1)
except AttributeError:
pass
# Plot!
gp.c(gp_plot)
# nikdo mi neuvěří, že by tohle postačílo a nebylo by nutné tohlensto furt úpravovat
def plot(data2D, terminal='png', filename=''):
if not filename:
filename = 'store/plot_%s'%(len(data2D[0]))
gp.c('set terminal ' + terminal)
gp.c('set output "%s.%s"'%(filename, terminal))
if os.name == 'posix':
gp.c('set decimalsign locale "POSIX"')
# se mi zda, že gp bere data v řadcích
gp.s(data2D, filename+'.dat')
# Plot!
# rozkaz, který předaváme gnuplotovi
gp.c('plot "%s.dat" ' % (filename))
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
26 |
aed04ad7c97da717e759111aa8dd7cd48768647f |
.gitignore |
100644 |
blob |
1093 |
263306d87c51114b1320be2ee3277ea0bff99b1f |
LICENSE |
100644 |
blob |
5165 |
c9a2ecc2110771d29b800aee6152fd3a3d239e80 |
README.md |
100644 |
blob |
2084 |
6cd17c9e68ac9734b1881157c553856bd2e034de |
cli_example.py |
100644 |
blob |
1257 |
52ad8257fd62a3dc12f8d08eaf73a7cfb5d392b8 |
gui_example.py |
100644 |
blob |
81 |
fed528d4a7a148fd0bf0b0198a6461f8c91b87e9 |
pyproject.toml |
100644 |
blob |
795 |
7f9286ab2094e7dddfb6e1c5e49396fa7d79e67c |
setup.cfg |
100644 |
blob |
54 |
ee2a480d94ead7579fdddabda39a672e31b90ced |
setup.py |
040000 |
tree |
- |
c71333f92448098d44613a5de568eb3f3788abbe |
wellmet |
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/WellMet
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/WellMet
Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/WellMet
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main