Jaki program do wykresu

OK, dzięki za wyjaśnienia, dobrze wiedzieć, że istnieje jakaś alternatywa do postscriptu.

jp

Reply to
jacek pozniak
Loading thread data ...

W dniu 2017-07-11 o 19:26, Jarosław Sokołowski pisze:

Chyba dużo tu zależy od tego co się rozumie pod "Każdy, kto programuje". Gdybym ja chciał wypuszczać z mojego programu pliki graficzne to zapewne poznanie formatu SVG (dogłębne) byłoby pierwszym krokiem.

Jak chcę dostać ten jeden wykres to mogę:

- poznać jakieś podstawy SVG i napisać sobie programik, który wyliczy co trzeba i wypluje mi format SVG,

- skorzystać z tego, że ktoś to zrobił i udostępnił.

Logika mówi, że wariant drugi powinien być łatwiejszy. Opis poleceń dla tego programu powinien być prostszy niż format SVG, bo w przeciwnym przypadku ten program nie miałby sensu. Dlatego zapytałem o to jakim programem to zrobić. Ale..... Pisząc samemu, w języku, który znam na pewno łatwiej mi będzie zrobić takie rzeczy aby np. zakres skali Y (w dB) automatycznie dopasować do zakresu zmienności funkcji. Aby to zrobić czyimś programem trzeba by go trochę bardziej poznać, a formatu SVG nie trzeba w tym celu bardziej poznawać.

W sumie nie rozumiem dlaczego w świecie Internetu i komputerów tak dużo formatów jest tekstowe. Przecież to jest systematyczne marnowanie zasobów na przesyłanie i konwertowanie z postaci ASCII na liczby i odwrotnie. Ja wyrosłem i cały czas siedzę w świecie formatów binarnych.

Tak wtedy zrobiłem. Jakbym chciał sam coś takiego wypuścić musiałbym ogarnąć co i jak w nagłówku. Zastanawia mnie np co tam robią jakieś XML. Na temat XML (jeśli nazwy nie mylę) natknąłem się pierwszy raz kilka miesięcy temu jak przeglądałem dokumentację KiCada. Muszę sobie chyba zrobić jakiś katalog wszystkich TLS-ów (trzy literowych skrótów) bo się gubię.

Wyjdzie na to, że niepotrzebnie sobie wydrukowałem dokumentację Asymptote :) P.G.

Reply to
Piotr Gałka

W dniu 2017-07-11 o 21:37, slawek pisze:

Ale jako wyjście z mojego programu to nie ma tego ryzyka. P.G.

Reply to
Piotr Gałka

W dniu 2017-07-11 o 19:26, Jarosław Sokołowski pisze:

Znalazłem opis SVG w pdf - to 719 stron! A dokumentacja Asymptote to tylko 184 strony.

Nawet jak rozwlekłość i czcionka inna to jednak mam wątpliwości co do "najszybciej" :) P.G.

Reply to
Piotr Gałka

Bo znacznie prościej zapisać w XML lub YML a potem skompresować. Niż robić format binarny, męczyć little big endian itd.

Reply to
slawek

Oczywiście.

Mimo wszystko absmak, bo nigdy nie będziesz mieć pewności czy picture555-555-abc.svg to na pewno ty sam robiłeś i nikt/nic tam się nie wkleiło. Zwłaszcza jeżeli takich pliczków będzie parę tysięcy i będą używane w całej firmie i/lub przechowywane w chmurze.

Reply to
slawek

Octave. Wykres zrobisz po przeczytaniu dwóch stron. Instalacja zajmuje około kwadransa.

Reply to
slawek

Pan Piotr Gałka napisał:

Błąd logiczny. Asembler (jako odzwierciedlenie języka procesora) ma prosty i krótki opis poleceń. Języki wysokopoziomowe, które kompiluje się do tego kodu, potrafią być bardzo złożone. Mają sens, ale nie zawsze warto je poznawać, gdy jest do wykonania proste zadanie. SVG, traktowany jako asembler grafiki, zawera akurat to, czego człek może sie spodziewać.

Dokładnie tak! Napisać własny kompilator. Trzeba wiedzieć czego się chce, trzeba znać "swój" język, trzeba w elementarnym stopniu zapoznać się z "asemblerem".

Zasoby ludzkie sa droższe od wszystkich innych. Bajty i bity na sekundę są tanie jak barszcz. A format tekstowy zawsze łatwo obejrzeć, sprawdzić dlaczego coś źle poszło, poprawić, połączyć itd.

Binarne są na wymarciu. Grafika wektorowa się takimi już nie posługuje, chyba żeby uznać PDF. No i fonty TTF czy PFB. Ale są też fonty SVG. Teraz nawet Excel używa tekstowych plików (dokumenty MS Office, te co mają "X" na końcu są zzipowanymi plikami XML).

Nie warto ogarniać, przepisać jak leci. Dostosować tylko "width" i "height" -- ale przecież wiadomo jak. Nawet bez tych nagłówków przeważnie wszystko diała, wystarczy nia początku i na końcu pliku napisać <svg> ... </svg>.

Wystarczy przyjąć, że pliki w których roi się od słów ujętych w ostre nawiasy < > są jakąś odmianą XML. Że to taki typ składni.

Ja sobie nie wydrukowałem, ale przedsięwziąłem planowane próby. To co wzięte z metafonta, działa dobrze. Szkoda, że nie wszystko przeniesiono. Metafont potrafi rozwiązać układ równań, z których wynika rozmieszczenie punktór na płaszczyźnie. Nie trzeba wskazywać explicite położenia każdego z nich, dość jest opisać zależności, ba przyład co na jakiej linii leży itp. Tu tego nie ma.

Ale mniejsza o to. Siatke półlogarytmiczną wyrysował mi bardzo ładnie. Sam z siebie, dobrał wszystko automatycznie. Dwie linijki opisu. Wykres funkcji opisanej analitycznie też ładnie maluje. Ale jak chciałem zaimportować dane do wykresu z pliku z próbkami, to już trzeba do tego niezłej hackerki. W gnouplot pisze się coś w rodzaju "plot 'file.dat' using 1:2 with lines" i już jest wykres. W SVG też jedna linijka z danymi wystarczy do poprowadzenia linii łamanej wykresu.

Reply to
invalid unparseable

Pan Piotr Gałka napisał:

Przecież nie potrzeba czytać całego. Podałem link do tutoriala, który opisuje praktyczną stronę używania najbardziej przydatnych rzeczy.

Postaram się je rozwiać. Weźmy przykład z Wikipedii i dodajmy na końcu (przed </svg>) takie coś:

<polyline style="fill:none;stroke:red;stroke-width:4" points="10,10 220,20 300,400" />

Współrzędne wziąłem z sufitu, ale jakos to wygląda. Chywna wiele więcej ponad znajomość użycia instrukcji "polyline" do zrobienia wykresu nie potrzeba. Dane chyba ma C++ wyliczać.

Reply to
invalid unparseable

Pan Piotr Gałka napisał:

To, skąd wyjście, nie ma znaczenia dla ryzyka. Ważne gdzie wejście, gdzie to jest interpretowane. A SVG jest interpretowane przez każdą przeglądarkę, tak samo jak HTML. Poza tym może być wszędzie. I jest wszędzie. Nie da się tego zmienić. Jeśli ktoś boi się syfa, to jedynym co mu pozostało jest wstrzemięźliwość od internetu (akurat w tym przypadku wszyscy by na tym skorzystali).

Reply to
invalid unparseable

W dniu 2017-07-12 o 13:43, slawek pisze:

Jak formaty są tak zdefiniowane to tak się robi. Mi chodziło raczej - dlaczego są tak definiowane.

Nie rozumiem w jakim sensie prościej? Dla mnie znacznie prostsze jest wstawianie/wybieranie liczb do/z pliku binarnego niż tekstowego. Jak liczba jest zapisana na konkretnych bajtach w konkretny sposób to po prostu jest. A jak jest tekstowo to jeszcze przy czytaniu trzeba analizować, czy nie ma błędów.

Problem little/big jest prawie tego samego typu jak czy kropka czy przecinek w zapisie tekstowym. Przy definiowaniu formatu musi to być jednoznacznie ustalone i tematu nie powinno być.

Dla wstawiania/wyczytywania odwrotnie niż moja maszyna ma w naturze jeszcze chyba w ubiegłym wieku napisałem sobie kilka jednolinijkowych funkcji (GetW, PutW, GetDW, PutDW, GetQW, PutQW). Jak ktoś używa innych liczb niż całkowite to musiałby jeszcze kilka podobnych funkcji mieć i koniec tego tematu.

Dla mnie format binarny to format komputerowy, a tekstowy to dla ludzi. Nie rozumiem dlaczego komputery porozumiewają się w formatach "dla ludzi". Natomiast dlaczego ludzie nie porozumiewają się formatami "komputerowymi" jest dla mnie jasne :) P.G.

Reply to
Piotr Gałka

Pan Piotr Gałka napisał (na szczęście tekstem, nie binarnie):

Wstawnienie może jest, wybieranie już niekoniecznie. Bo do tego by trzeba było przeczytać dokumentację. A to robi się dopiero wtedy, gdy inne metody zawiodą (dzisiaj to w praktyce oznacza, że nigdy).

No to jak wstawienie było z błędem, to się program przy wybieraniu wysypie. Duży plus. Przy zapisie binarnym większa szansa, że błąd umknie.

Donald E. Knuth ma niemieckie pochodzenie. Dlatego podając w TeXu (lub w metafoncie) liczby ułamkowe, można równie dobrze napisać

3.141592 jak i 3,141592 (ale w podręczniku nic o tym nie ma, bo po co).
Reply to
invalid unparseable

W dniu 2017-07-12 o 13:59, Jarosław Sokołowski pisze:

Rozumiem, że to opis Twoich doświadczeń z Asymptote. P.G.

Reply to
Piotr Gałka

Pan Piotr Gałka napisał:

Tak, chyba wcześniej się odgrażałem, że się nimi podzielę. W skrócie: do robienia wykresu na podstawie pliku z kolumnami liczb to ja bym tego programu komuś początkującemu nie polecił. Ale sam pewnie do czegoś go użyje. Może nawet zrobie sobie wykres (na podstawie pliku z kolumnami liczb).

Reply to
invalid unparseable

W dniu środa, 12 lipca 2017 14:35:45 UTC+2 użytkownik Piotr Gałka napisał:

Jesli mogę konstruktywnie zasugerować: Poświęć 30 minut na następujące ćwiczenie: Instalacja inkscape, narysowanie paru kresek, kółek, literek. Zapisanie svg. Otwarcie w notatniku i zerknięcie czy format jest zjadliwy. Jesli po 5 minutach stwierdzisz ze nie warto to bedzie wiadomo ze jakiś ogląd miałeś. Nawet jak dokumentacja to 700stron :)

Reply to
sczygiel

W dniu 2017-07-12 o 14:06, Jarosław Sokołowski pisze:

Ten pdf co znalazłem to ten sam tutorial tylko w pdf.

To jest (w wielu wypadkach słuszne) podejście typu: Zrobić to co jest potrzebne i zapomnieć.

Tylko, że ja tak mam, że jak coś robię to lubię/chcę dokładnie rozumieć co i dlaczego robię. Nie uznaję bezkrytycznie, że jak ktoś coś akurat tak zrobił to znaczy, że tak to ma być. Jednym z odprysków takiego mojego podejścia było np. to, że ileś lat temu napisałem do NIST, że wektory testowe chyba do HMAC (może CMAC, ale nie pamiętam) są źle dobrane. Nic mi nie odpowiedzieli, ale bardzo szybko poprawili.

Jak widzę w tym pliku ileś linijek nagłówka to chciałbym rozumieć każdy użyty znak zanim wypluję ten nagłówek z mojego programu do mojego pliku SVG.

Takie powielanie czegoś bez myślenia, to jest coś, czego najbardziej nie cierpię. Jakbym tak to po prostu skopiował to na prawdę straciłbym dużo sam w swoich oczach (a na tej opinii mi dość zależy - dla dobrego samopoczucia :) ).

Skojarzenie z bezmyślnym przepisywaniem: Unia w jakiejś decyzji opisała jak ma wyglądać deklaracja CE. Było tam jakoś tak (piszę z pamięci).

  1. Urządzenie Nr... (ta linijka była na pewno dokładnie taka)
  2. Producent...
  3. Deklaruje na swoją odpowiedzialność, że
  4. Urządzenie (dokładna identyfikacja produktu (nr serii,...))
  5. Spełnia...

Chyba pierwsza dyrektywa w której to wpisali to RoHS sprzed kilku lat. Wtedy ludzie na grupie IEEE EMC-PSTC dyskutowali co właściwie ma być wpisane w punktach 1 i 4 (nie wykluczam, że to ja zapytałem). Ktoś napisał, że znane mu są 3 koncepcje o co biega i je opisał. Między innymi był temat czy dla każdego _numeru_ urządzenia ma być osobna deklaracja i jak ją podpisywać, skoro podpis musi być autentykiem, a nie kopią i podpisywać może tylko ktoś mający dość władzy w firmie aby wstrzymać produkcję jak coś jest niezgodne. Ilu managerów trzeba do podpisywania przy linii produkującej pendrive'y i ile szaf do przechowywania przez 10 lat kopii deklaracji.

Wtedy napisałem, żeby dodali do listy (jako czwartą) moją koncepcję, że jakiś baran się pomylił i w pierwszej linijce zamiast napisać "Deklaracja Nr..." wpisał "Urządzenie Nr...", i potem żaden z tłumaczy (na wszystkie języki unii) nie wykazał się myśleniem aby zareagować i poprawić póki czas.

Potem przepisali to do dyrektywy jak leci. Nie wiem czy się zorientowali, że to jest jakoś nie za bardzo, czy nie. I znów ileś tłumaczeń i brak refleksji.

W zeszłym tygodniu przeglądałem ostatnie dyrektywy EMC i RED. W obu jest to tak samo przepisane, ale (w dyrektywie lub przewodniku - Blue Guide lub RED Guide) przy punkcie 1 jest gwiazdka i na dole strony dopisane: Producent, jak chce może dla porządku numerować deklaracje, ale nie jest to obowiązkowe. Jest też gdzieś napisane, że nr urządzenia to może być oznaczenie typu, a nie nr produkcyjny. Czyli, że się zorientowali, ale przecież nie można się przyznać do błędu.

Jakbym bezrefleksyjnie przepisał ten nagłówek SVG to uważałbym, że zniżyłem się do poziomu tych urzędników co tak to przepisują.

Zdaję sobie sprawę, że moje podejście nie za do końca jest efektywne, ale ja się z takim podejściem dobrze czuję :) P.G.

Reply to
Piotr Gałka

W dniu 2017-07-12 o 14:45, snipped-for-privacy@gmail.com pisze:

Dzięki. Nie wiedziałem, że inkscape potrafi zapisać SVG (choć przypuszczałem, że tak). Ciekawe, co będzie w pustym pliku SVG.

Jak ktoś chce ze mną dyskutować to się czuję zobowiązany nie olewać, a do tego jestem gaduła więc schodzi mi więcej czasu niż ustawa przewiduje. Za próby wezmę się jak przyjdzie na to czas.

Tak jak pisałem to jest z mojego punktu widzenia rozpoznanie wstępne w czasie gdy zajmuję się czymś innym. P.G.

Reply to
Piotr Gałka

Pan Piotr Gałka napisał:

Przecież tak się dzisiaj nie da. Programując korzysta się z bibliotek (choćby do operacji na bitmapach i kompresji do PNG). Analizować działanie wszystkiego? Przecież czasu nie starczy.

Te linijki dość jasno opowiadaja o sobie. Są w nich na przykład linki do dokumentacji. Tylko do dokumentacji, więc mają wartość wyłącznie informacyjną. Jeśli ktoś żyje w rzeczywistości, w której doba ma więcej niż 24 godziny, to sprawdzi co sie pod nimi kryje. I być może rozjaśni mu się reszta.

A czy używając Windows nie traci się samopoczucia? Przecież tam w ogóle nie wiadomo co jest. Albo kopiując pliki JPG z aparatu do komputera. Tam też są jakieś nagłówki. Jest wzięty od kogoś działający plik SVG, więc nie powinno być problemu. Ktoś tu słusznie radził, by taki plik sobie wytworzyć samemu programem inkscape. Też nie ma potrzeby wnikać w format, tak jak można robić notatki w Exelu i kolorować je na źółto, zielono i czerwono -- też bez analizy budowy pliku XLS. Zrozumieć watro to, co się samemu dodaje. Ale chyba nie muszę wyjaśniać co znaczy które słowo w poleceniu "polyline".

[...o urzędnikach słów ciepłych kilka...]

Ale ja tu widzę wiele ciekawych refleksji! Więc proszę, śmiało...

Reply to
invalid unparseable

No faktycznie svg jest bardziej strawny do analizowania niż Postscriptowa odwrotna notacja:)

jp

Reply to
jacek pozniak

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.