Ngraphを活用させていただいている者です。
質問なのですが、Excelのシートに書かれているデータを開いても、データが出てこず、グラフが描けないのですがどうしたらよいでしょうか?もちろんfor winです。素人ですので分かりやすく教えていただけると幸いです。
tomoさん、こんばんは。
> 半年ほど前にDOS版のNgraphに不具合があったとメールした
> tomoです.
はい、覚えております。不具合のご指摘、どうもありがとう
ございました。また、修正が大変に遅くなってしまい、申し
訳ありませんでした。
> 早速ver. 5.45を試したところ,以前報告させていただいた
> 不具合は全く現れず,快適に動作しました.
それを聞いて安心しました。たしか Windows Me でだったと
記憶しているのですが、今回 Me での動作が確認できていま
せんでしたので心配していました。
こちらこそ、どうもありがとうございました。
isizaka様
半年ほど前にDOS版のNgraphに不具合があったとメールした
tomoです.
早速ver. 5.45を試したところ,以前報告させていただいた
不具合は全く現れず,快適に動作しました.
これでまた,快適にNgraphを使い続けることが出来ます.
お忙しい中,本当に有り難うございました.
isizaka です。
DOS版そのままをWindowsに移植した 5.x 系の新バージョン
ver. 5.45 を追加しました。
私の Windows XP では [legend]-[text], [debug] メニュー
共に動いています。もし何か不具合がありましたら、ご連絡
下さい。
たばさん、こんばんは。
> Ngraph6.03.14を、XP英語版で使っています。
> X軸をlog、Y軸をnormalでプロットすることが多いのですが、グリッドの描画を指定して印刷をしようとすると、必ずエラーが出てNgraphが強制終了してしまいます。HP LaserJet4Lでも
確認しました。確かに出ますね。取り敢えず外部ドライバだと
エラーにならないようですので、[外部ドライバ]-[Windows]
で印刷してください。外部ドライバは別配布していますので、
ダウンロードして下さい。
#話しが全然違いますが、Delphi 6 を買ってきてインストール
#しました。Ngraph 5.5 は近い内に出します。
はじめまして。
Ngraph6.03.14を、XP英語版で使っています。
X軸をlog、Y軸をnormalでプロットすることが多いのですが、グリッドの描画を指定して印刷をしようとすると、必ずエラーが出てNgraphが強制終了してしまいます。HP LaserJet4LでもEpson PhotoStylus750でも同じ状況です。これはソフトウェアの不具合なのか、どうなのでしょう?解決方法があるのなら、とても助かります。
Ngraphは学部のときから使っていてとても重宝して、石坂さんにはとても感謝をしております。これからもがんばってください。
では、よろしくお願いします。
NMRさん、こんばんは。
実は先に頂いていた ver. 5.43 の不具合は私の環境
(Windows 98, Windows 2000, Windows XP) では再現していな
かったのですが、今回ご指摘のマスクに関しては当方の
Windows XP で現象を確認しました。ハングアップと言うより
は、イベントを受け取り続けて無限ループに落ちている感じ
ですね(再描画を続けているようです)。現象が再現できさえ
すれば修正も簡単(イベントループをちょっといじれば直ると
思います)ですので、近いうちに修正します。
石坂さんこんにちは
いつもNグラフ愛用いたしております。
研究室で新しく買ったPCが2000NTでして、DOS時代から使っていたver.
5.43ver.どちらとも、マスクをすると固まってしまいます。
研究室ではシェアウェアーを購入しようかと考えているのですが、いままでなれてきたものを使いたいと考えています。
何か助言などございましたら、何卒よろしくお願いいたします。
ほかの方にも似たような症状があった記述を見つけましたので、下に載せておきます。
ではお忙しいとは思いますが、よろしくお願いいたします。
> tomoさん、こんばんは。
>
> > 不具合は,以下のようなものです.
> > まず,Ngraph ver 5.43 を立ち上げます.
> > その後,Graph→Position→Determine all と行って,グラフ
> > の大きさを決めようとすると,画面が固まってしまいました.
>
> version 5.4 系はサポート外ですが、何とかしたいと思います。
> ただ、Delphi のインストールから初めますので、もう少し時間
> を下さい。何卒、ご了承のほどよろしくお願い致します。
>
徳渕さん、こんばんは。
返信が遅くなってどうもすみません。
和文フォントは解決されたとの事、良かったです。
>各ボタンにメニューの名称(例えば「終了」など)が表示されず、代わりに「button_1」などのような
>表示になってしまいます。
の方は X11 のリソースファイル (Ngraph あるいは ja/Ngraph)
が読み込まれていないと起こる現象です(メニュー項目は
リソースファイルに記述している為)。リソースファイルが
正しく見つかるように ngraph.sh (local/bin/ngraphへリンク)
内で XSEARCH_PATH を設定していますので、このディレクトリ
に Ngraph あるいは ja/Ngraph が有ることを確認してください。
徳渕と申します。
上記の件は、以下の方法で解決しました。なお、使用していたNgraphは旧バージョンのものでした。
(1)Ngraph for X11binaries Open Motif 2.1static link 6.03.14のtarballで配布されているバイナリを使う(VinePlusのRPMパッケージはテキストダイアログで和文フォントの選択リストが出てきませんでした)
(2)Ngraph.iniのGoth、Min、Gothic、Minchoをフォントエイリアスに記載されているように書き替える
以上のようにすると無事和文フォントが使用できるようになりました。
はじめまして、徳渕と申します。NGraphは研究・業務の資料づくりに
便利につかわせて頂いております。
私はVineLinux2.1.5上でNgraph for X11binaries Open Motif 2.1static link 6.03.14を使っていたのですが、この度VineLinux2.5にアップグレードインストールしたおり、NGraphを起動すると、各ボタンにメニューの名称(例えば「終了」など)が表示されず、代わりに「button_1」などのような表示になってしまいます。また、過去に書いたグラフをOpenしても日本語のフォントを使った部分が表示されなくなってしまいました。
どなたか、このようなトラブルを解決された方がおられましたら、解決方法を教えていただければ幸いです。宜しくお願いいたします。
伊東さん、こんばんは。
確かにバグです。FileFitCB は
char *FitCB(struct objlist *obj,int id)
{
char *valstr,*s;
if ((s=(char *)memalloc(128))==NULL) return NULL;
sgetobjfield(obj,id,"type",NULL,&valstr,FALSE,FALSE,FALSE);
sprintf(s,"%-5d %.100s",id,valstr);
memfree(valstr);
return s;
}
で良いです。どうもありがとうございます。
度々申し訳ありません。
> として FitFileCB を渡しているために、fit object に対して FitFileCB
FitFileCB -> FileCB の間違いです。
失礼しました。
いつもお世話になっております。
Ngraph Version 6.3.14 (Linux)に不具合を見つけましたので報告します。
■現象
Fit の設定ダイアログで「Copy」を押して、他の設定をコピーしようとする
と「fit: field not found `file'.」というメッセージが表示され、
「Single select」ダイアログにおかしな文字列が表示されます。
■原因
x11file.c の FitDialogCopy() 関数中で CopyClick() 関数にコールバック
として FitFileCB を渡しているために、fit object に対して FitFileCB
が実行されているためだと思います。
■環境
Vine Linux 2.1.5
XFree86-3.3.6
openmotif-2.1.30-5_ICS
egcs-2.91.66
glibc-2.1.3
以下に、個人的に作成したパッチをつけますので、興味ある方は(ご自身の責
任で)お試しください。
8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8<
diff -rcN Ngraph-6.3.14-src/x11/x11commn.c Ngraph-6.3.14-fit-src/x11/x11commn.c
*** Ngraph-6.3.14-src/x11/x11commn.c Sun Jul 15 02:46:51 2001
--- Ngraph-6.3.14-fit-src/x11/x11commn.c Thu Apr 18 19:55:13 2002
***************
*** 1234,1239 ****
--- 1234,1280 ----
return s;
}
+ char *FitFileCB(struct objlist *obj,int id)
+ {
+ struct objlist *fileobj;
+ int i, fit_id = -1;
+
+ fileobj = getobject("file");
+ if (fileobj == NULL) return NULL;
+
+ for (i = 0; i <= fileobj->lastinst; i++) {
+ char *fit;
+ getobj(fileobj, "fit", i, 0, NULL, &fit);
+ if (fit != NULL) {
+ int anum;
+ struct narray iarray;
+ struct objlist *fitobj;
+
+ arrayinit(&iarray,sizeof(int));
+ if (getobjilist(fit, &fitobj, &iarray, FALSE, NULL)) return NULL;
+ anum=arraynum(&iarray);
+ if (anum<1) {
+ arraydel(&iarray);
+ return NULL;
+ }
+ fit_id = *(int *)arraylast(&iarray);
+ arraydel(&iarray);
+ if(fit_id == id){
+ char *valstr,*file,*s;
+ if ((s=(char *)memalloc(128))==NULL) return NULL;
+ getobj(fileobj,"file",i,0,NULL,&file);
+ valstr=getbasename(file);
+ if (valstr!=NULL) {
+ sprintf(s,"%-5d %-5d %.90s",id, i, valstr);
+ memfree(valstr);
+ } else sprintf(s,"%-5d %-5d %.90s",id, i, "....................");
+ return s;
+ }
+ }
+ }
+ return NULL;
+ }
+
int SetFileHidden()
{
struct objlist *fobj;
diff -rcN Ngraph-6.3.14-src/x11/x11commn.h Ngraph-6.3.14-fit-src/x11/x11commn.h
*** Ngraph-6.3.14-src/x11/x11commn.h Sun Jul 15 02:46:52 2001
--- Ngraph-6.3.14-fit-src/x11/x11commn.h Thu Apr 18 19:55:13 2002
***************
*** 51,56 ****
--- 51,57 ----
int AllocConsole();
void FreeConsole(int allocnow);
char *FileCB(struct objlist *obj,int id);
+ char *FitFileCB(struct objlist *obj,int id);
int SetFileHidden();
void ExtTextOut(Display *disp,Window win,GC gc,
int x,int y,XRectangle *rect,char *buf,int len);
diff -rcN Ngraph-6.3.14-src/x11/x11file.c Ngraph-6.3.14-fit-src/x11/x11file.c
*** Ngraph-6.3.14-src/x11/x11file.c Sun Jul 15 02:46:51 2001
--- Ngraph-6.3.14-fit-src/x11/x11file.c Thu Apr 18 19:55:13 2002
***************
*** 468,474 ****
int sel;
d=(struct FitDialog *)client_data;
! if ((sel=CopyClick(d->widget,d->Obj,d->Id,FileCB))!=-1)
FitDialogSetupItem(d->widget,d,sel);
}
--- 468,474 ----
int sel;
d=(struct FitDialog *)client_data;
! if ((sel=CopyClick(d->widget,d->Obj,d->Id,FitFileCB))!=-1)
FitDialogSetupItem(d->widget,d,sel);
}
8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8< 8<
長々と失礼いたしました。
こんにちは。
> 「ソースからmakeすれば、無修整もしくは少ない修正で動く」
> という可能性が高いような気がします。
確かにそんな気がします。後は実際にコンパイルしてみない
事には分かりませんね。コンパイラ(開発環境)は別売りの様
ですね。
Mac OSX版の Open Motif は
http://motifzone.net/download/dldform.php
からダウンロードできるようです。
hayakawaさん、こんにちは。
返信が遅くなり、どうもすみません。
> 時系列の観測データなんかをよく扱うのですが,Ngraphでは横軸をカレンダー軸(**年**月**日)というのはとれるのでしょうか?
「年月日」の軸は無いです。私個人としては、「年」を横軸に
して、横軸の分割数を12に設定し、小刻みが「月」になる様な
グラフは使っています。
その場合、例えば
2001-03-19 1.0
2001-03-20 2.0
...
の様なデータが有る場合、「データファイルダイアログ」の
[読み込み]-[区切り文字]に '-' を追加して 第一カラムが年、
第二カラムが月、第三カラムが日、第四カラムがデータとなる
ようにし、第四カラムをY軸にプロットするようにします。
また、関数 MJD(y,m,d) は y年m月d日の修正ユリウス日
(BC4713年1月1日からの通算日数)ですので、X軸の変換
数式として
(MJD(%01,%02,%03)-MJD(2000,1,1))/365.25+2000
としておけば、小刻みは一ヶ月の平均日数 (30.4375日)
になります。以前は
%01+%02/12+%03/12/30.4375
として年に変更する方法を説明していたのですが、それよりは
正確(後者の簡易法だと 3/31 は 4/1 より後になってしまいます)
になりました。
こんにちは。
私もよく知らないのですが、こんなのを見ると、
http://www.legend.ota.tokyo.jp/~hkob/MacOSX/
http://macptex.appi.keio.ac.jp/~uchiyama/macosx/
普通のUNIXのX用のソフトもほとんど修正なしで動いているみたいです。
(でも、gsまで作っておいてghostviewが話題に出ていないのが引っ掛かる……)
「ソースからmakeすれば、無修整もしくは少ない修正で動く」
という可能性が高いような気がします。
私もそうだったのですが、
経験が少ないと「少ない修正」が壁になるのですよね。
unixに共通の障害なら、
ある程度参考になる情報が提供できるかも知れません。
あるいは、誰かが作り方かバイナリーを提供してくれる日が来るまで
気長に待つか、です。
この優秀なソフトをMacでも使いたい人は多いと思いますが、さて。
これから,Ngraphを使おうかと思案しているところです。
時系列の観測データなんかをよく扱うのですが,Ngraphでは横軸をカレンダー軸(**年**月**日)というのはとれるのでしょうか?
マニュアルの中を探してみたのですが,探しあてられなくて,どなたかご存知の方,お教え願えたらと思っています。
isizakaさんお返事ありがとうございます。
MacOSXはBSD系のUNIXをベースとしてその上にAQUAと呼ばれる
GUIがのった環境で構築されているようです。
元々はNEXTStepなので、それをPowerPCで動くようにしたと考
えるのが一番わかりやすいかもしれません。
よって従来のMacOSとは全くの別物です。というよりUNIXです。
このAqua上でXWindowも動きます(もちろんフルスクリーンで
表示もできますが)。
一応このあたりに
http://www.apple.co.jp/macosx/technologies/darwin.html
簡単に書いてはあります。
ただ私がUNIXのコマンドライン等が全くの素人なので、コン
パイルの方法すらおぼつかない状態です。
これがうまくいけば何とかなるような気はするのですが、ど
こが間違っているのかもわからない状態です。
これを機会にUNIXも勉強しなければ行けないとは思っている
のですが・・・。
それで、そのきっかけにでもなればと思い質問させて頂きま
した。
最近はMacOSXをUNIXで使うというような本も出版され始めて
いるので、少しずつ勉強していきたいと思います。
竹下さん、こんにちは。
> のですが、このとき容器などのバックグラウンドを引く操作が
> できれば非常にありがたいのです。このバックグラウンドの
できなくもないですが、ちょっと面倒かも知れません。
(1) データファイルを開きます。
(2) 適度に滑らかになるように「隣接平均」を設定します。
(3) [出力]-[データファイル] で滑らかなデータをファイルに落とします。
(4) そのファイルを開きます。
(5) もとのデータファイルの数式変換の Y に Y-%F0102 等としてファイル間演算で滑らかなデータを引きます。この際、滑らかなデータはプロットしないように hide しておきます。
ファイル間演算で隣接平均後のデータを持ってこれればもっと
楽なのですが、そうすると互いに参照した場合にどうなるのか
予測が付き難くなるので、生データのみにしています。
y.oshikiriさん、こんにちは。
すみません、私はMacの事はさっぱり分かりませんので、
どなたかお分かりの方、いらっしゃいましたら是非とも
お願いします。
> そこで、MacOSXがUNIXのFreeBSDがベースであるので、もしかし
> たらUNIX版が動くのでは?と思い、試してはみたのですが、当
ちなみに、「FreeBSD がベース」のベースの意味が正確に分
からないのですが(すみません何も知らないもので…) 、
MacOSX は UNIX であってFreeBSD系なのでしょうか、それと
もUNIX ではないけれどカーネルとかが FreeBSDベースなの
でしょうか?もし前者なら動く可能性が高いと思うのですが、
どんな感じで上手く行かないのかを書いて頂けると、糸口が
見つかるかも知れません。
かれこれ10年以上NGraphを使わせていただいております。
有難うございます。
ところで、私は磁化を測定する実験をおこなうことが多い
のですが、このとき容器などのバックグラウンドを引く操作が
できれば非常にありがたいのです。このバックグラウンドの
カタチが単純であれば大体多項式フィットでカタがつきますが
ちょっと変な形になってくると上手くいかないことが多く
(一見綺麗でも、波打っていることなども多い、特に端で
差が大きくなってしまう)いろいろ頭を悩ませます。
全然使いこなしている自信はないのですが、何か良い方法って
ありますでしょうか?こういうことは良くあることだと
思うのですが(Aの結果とBの結果の差を得たい)みなさん
どのようにされているのでしょうか。
皆さま初めまして。
PC98のDOSの頃からNgraphを使わせていただいております。
しかし現在はMacintoshをメインに使っておりますが、Ngaraph
だけは手放せません。
KaleidaGraphも買って使ってはみたのですが、いまいち使い勝
手が悪く、Ngraphの操作性の良さにはとうていかないません。
そこで、MacOSXがUNIXのFreeBSDがベースであるので、もしかし
たらUNIX版が動くのでは?と思い、試してはみたのですが、当
方UNIXはずぶの素人で、やはり動作させることはできません。
はたして、MacOSXでNgraohは動作可能でしょうか?教えてはい
ただけないでしょうか?
もしわかる方がいらっしゃいましたら、是非教えていただきた
く存じます。
よろしくお願いいたします。
> IF(LE(Y,0),UNDEF,Y)
早速のご回答ありがとうございます。大変助かりました。
tanaka さん、こんばんは。
> > 作成してみました。PostScript から GRA への変換が出来ます。
> 私も似たようなものを作りかけていました。
おぉ、考えることは同じですね。
> http://homepage3.nifty.com/ttk/comp/ngraph/
> に置きました。
拝見させていただきます。
> 似たような作業を重複してやるのは無駄ですし、
> 最終的にいいものができればいいな、と思います。
そうですね。
甚だ非力ではありますが、出来る範囲でお手伝いさせてい
ただければと思います。
山本さん、こんばんは。
>なのでしょうが、これまでのように負のデータはプロットしないようにする方法は
Yの数式変換で
IF(LE(Y,0),UNDEF,Y)
とします。意味は「 Y が 0 以下の時は UNDEF (未定義、存在
しないのと同じ) にする」です。
こんばんは。
> pstoedit <http://www.pstoedit.net/pstoedit> の GRA 用ドライバを
> 作成してみました。PostScript から GRA への変換が出来ます。
私も似たようなものを作りかけていました。
不完全なものですが、
http://homepage3.nifty.com/ttk/comp/ngraph/
に置きました。
伊東さんがまだ手をつけていない部分で
すでに出来ているところもあります。
興味があればお試しください。
似たような作業を重複してやるのは無駄ですし、
最終的にいいものができればいいな、と思います。
log(abs(y))の件、私が無理言って、済みませんでした、、、
大変便利でDOS時代から使わせていただいております。今回はじめての投稿です。なんか対数プロットの様子がおかしいなと思ってこの掲示板の過去ログを見たところ、今のバージョンではyをabs(y)に変換するようになったようですね。これはこれで便利なのでしょうが、これまでのように負のデータはプロットしないようにする方法はありますでしょうか?よろしくお願いいたします。
pstoedit <http://www.pstoedit.net/pstoedit> の GRA 用ドライバを
作成してみました。PostScript から GRA への変換が出来ます。
まだ動作確認など不十分ですが、興味ある方はお試しください。
http://homepage3.nifty.com/slokar/ngraph/pstoedit.html
にソース(pstoedit へのパッチ)と簡単な説明を置いてあります。
> 上は visibleItemCount ではなくて itemCount ですけど間違って
> ないですよね?
すみません。説明不足でした。
最初の方法を使わずに、なぜvisibleItemCountが増えているのかを
知ろうとして、いろいろと細工をやってみました。
順調に増える、というのはこのためです。
> リソースファイル ja/Ngraph で一部 visibleItemCount を指定
> しています。リソースでは 20 を指定しているのですけど、
> 23個分ぐらいの長さになっていますよね。これを回避するには
リソースファイルのvisibleItemCountを全てコメントアウトしたところ、
o 長いのは問題なし。但し、値は増える。
o 短いのはやっぱり長くなる。
って所まで見て、諦めました。
リソースを指定しなくても勝手に伸びるあたりは困りものですね。
# Motifのほうでもバグとして把握しているのでしょうか?
# visible_item_countをどうやって決めているかは、
# 私には理解できませんでした。
ともかく、回避方法がわかって一安心です。
ありがとうございました。
XtVaGetValues(GetComboBoxList(w,res),XmNitemCount,...
上は visibleItemCount ではなくて itemCount ですけど間違って
ないですよね?
> これを使うなら、宣言の直後からfor節の後までをif節に入れるのですよね?
そうです。あと、x11dialg.c の SetStyleFromObjField()
も同様にすると線種のコンボボックスも伸びなくなります。
>ります。この"21"はどうやって決まっているのでしょう?
リソースファイル ja/Ngraph で一部 visibleItemCount を指定
しています。リソースでは 20 を指定しているのですけど、
23個分ぐらいの長さになっていますよね。これを回避するには
int count;
XtVaGetValues(GetComboBoxList(w,res),XmNitemCount,&count,NULL);
if (count==0) {
for (j=0;j<xxx;j++) {
リストの追加部分
}
XtVaSetValues(GetComboBoxList(w,res),XmNvisibleItemCount,j-1,NULL);
}
として下さい。綺麗に長さが合います。その他の動的に変化
するコンボボックスに関しては、ソースのあちこちに散らば
っていますが、全て長さが綺麗に合うように修正しました。
> リストボックスの内容が変化するものに関しては
> SetListFromObjField() や SetComboList() は使わずに
> 必要に応じて行っています。ですので、その様なコンボ
> ボックスは伸びてしまいます。
src/ofile.c のf2dtypecharの内容をいじったり、
途中にNULLを挟んだりしてみたのですが、NULLを挟むと
そこから先が表示されなくなるだけで、相変わらず
XmNvisibleItemCountの値は21から順調に増えていきます。もちろん、配列自体も大きくしましたが、何故か最初は21から始まります。この"21"はどうやって決まっているのでしょう?
私は何か勘違いをしているのでしょうか?
> 先の SetListFromObjField() や SetComboList() の変更は
>
> int count;
> XtVaGetValues(GetComboBoxList(w,res),XmNitemCount,&count,NULL);
> if (count==0) {
> リストの削除・追加部分
> }
これを使うなら、宣言の直後からfor節の後までをif節に入れるのですよね?
Tsurutaniさん、こんばんは。
> #でも、軸を選ぶところも妙に長かったりする...
リストボックスの内容が変化するものに関しては
SetListFromObjField() や SetComboList() は使わずに
必要に応じて行っています。ですので、その様なコンボ
ボックスは伸びてしまいます。
先の SetListFromObjField() や SetComboList() の変更は
int count;
XtVaGetValues(GetComboBoxList(w,res),XmNitemCount,&count,NULL);
if (count==0) {
リストの削除・追加部分
}
とすれば Motif のバグが取れた時でも問題無いので、その
方が良いかも知れません。
> 確かに、全てのコンボボックスがダイアログボックスを開
> く度に 1つ分だけ長くなっていきます。ダイアログを開く
> 度に、全てのリスト項目を一旦削除して最追加しているの
> ですが、この操作で visibleItemCount のリソース値が一
> つ増えてしまうようです。多分 Motif のバグだと思うので
> すが、x11dialg.c の
>
> void SetListFromObjField() と void SetComboList()
>
> の関数の始めの方に
>
> int visible;
> XtVaGetValues(GetComboBoxList(w,res),XmNvisibleItemCount,&visible,NULL);
>
> を、関数の最後の方に
>
> XtVaSetValues(GetComboBoxList(w,res),XmNvisibleItemCount,visible-1,NULL);
>
> を入れると回避できるようです。
>
をを、直りました。
ありがとうございました。
#でも、軸を選ぶところも妙に長かったりする...
Tsurutaniさん、こんばんは。
> このプルダウンメニューが異常に長くなっていきます。
確かに、全てのコンボボックスがダイアログボックスを開
く度に 1つ分だけ長くなっていきます。ダイアログを開く
度に、全てのリスト項目を一旦削除して最追加しているの
ですが、この操作で visibleItemCount のリソース値が一
つ増えてしまうようです。多分 Motif のバグだと思うので
すが、x11dialg.c の
void SetListFromObjField() と void SetComboList()
の関数の始めの方に
int visible;
XtVaGetValues(GetComboBoxList(w,res),XmNvisibleItemCount,&visible,NULL);
を、関数の最後の方に
XtVaSetValues(GetComboBoxList(w,res),XmNvisibleItemCount,visible-1,NULL);
を入れると回避できるようです。
sugita さん、こんばんは
画像ファイル -> GRA 変換を行う簡単な GUI プログラムと、
このプログラムを利用するための Ngraph マクロを作成しました。
よろしければお試しください。
http://homepage3.nifty.com/slokar/ngraph/gimg2gra.tar.gz
以前のプログラムと同様に、コンパイル、動作確認は
Vine Linux 2.1.5 で行っていますが、コンパイルには GNOME の
開発環境が必要です。
> これでグラフ作成がずっと楽になります.
> 本当にありがとうございました.
ありがとうございます。
そう言って頂けると作成したかいがあります。
Ngraph for X11 [FreeBSD+Motif2.1]
ver 6.03.14 を使っています。
データファイルを開いた後、そのファイルを[Update]し、
「タイプ」から line を選ぶことが多いのですが、
いくつもファイルを開いていくと、そのうちに
このプルダウンメニューが異常に長くなっていきます。
項目数が増えるわけではなく、下の方はずっと空欄のままで
長くなっていきます。
何とかする方法はあるでしょうか?
環境は、FreeBSD 4.5-RELEASE + XFree86 4.1.0
+ OpenMotif 2.1.30です。
伊藤さん ソフトを作っていただきありがとうございました.
早速使用させていただいたところ,動作環境が伊藤さんと同じVine Linux 2.1.5(VineSeedからのパッケージも幾つかインストールしてあります)
なのですが,特に問題もなく動作し,Xfigから吐きだした「gif」,
「xbm(<---これはGIMPでBMP形式に変換した)」を合成することができました.
> 所詮ビットマップですので美しくない&ファイルが無駄に大きくな
> るなどの欠点がありますが、
「ビットマップなので美しくない」とお聞きしていたのですが,
拡大率を変更する(自分の場合ですと大体10%くらい)などすると
ドットは目立たなくなり印刷にも耐えるとすら思いました.
これでグラフ作成がずっと楽になります.
本当にありがとうございました.
> 所詮ビットマップですので美しくない&ファイルが無駄に大きくな
> るなどの欠点がありますが、すぐ出来ると思うのでちょっと試し
とりあえず簡単なものを作成してみました。
http://homepage3.nifty.com/slokar/ngraph/img2gra.tar.gz
に置いてありますので、興味ある方はお試しください。
bmp2gra と img2gra という2つのプログラムが入っていますが
img2gra は gdk_imlib が必要です。
bmp2gra は特殊なライブラリは必要ないはずですが、構造体の
パッキングを利用しているので、RISC なマシンでは正常に動作
しないかもしれません。
bmp2gra は BMP ファイル専用ですが、img2gra は imlib の扱える
画像フォーマットなら全て GRA に変換できます。
コンパイル、動作の確認は Vine Linux 2.1.5 で行っています。
sugita さん、tanaka さん、 isizaka さん こんばんは。
[252]
> 逆の obj -> gra はおそらく苦労するのではないかと思います。
xfig は使ったことがないのですが、
http://duke.usask.ca/~macphed/soft/fig/xfig-manual/japanese/fig-format.html
を見ると、こちらも xfig -> gra は結構大変そうですね。
> > 逆にLinuxをプラットフォームにしていらっしゃる方々はどうされているのか
> > 興味があります.
> 私の場合Solarisですが、現状では、
> Ngraph上で可能な限り飾り付けを行い、gra -> eps -> LaTeX です。
> 他からNgraph上へ、というのはやっていません。
これは私も全く同様です。
あまり複雑な図を描かないせいか、ほとんどの図は Ngraph で作ってしまいます。
[251]
> > もしベクトル形式でなくてイメージで良いのでしたら、伊東さ
> > んの「Ngraph 上に Bitmap を貼りつけるマクロ」が使えます
> > ね。
>
> 現在使える環境がLinuxしかないので...
あのマクロは C++Builder の勉強を兼ねて試作したようなもので
自分でも全く使っていなかったせいもあり、Linux 版を作ってい
ないのですが BMP -> gra の変換プログラムは多分すぐ出来ると
思います。
というか、Linux なら Imlib の使い方を調べて、そちらで作った
方がよさそうですね。
所詮ビットマップですので美しくない&ファイルが無駄に大きくな
るなどの欠点がありますが、すぐ出来ると思うのでちょっと試し
てみようと思います。以前から作ってみようかとは思っていたの
ですがきっかけがなかったので...
tanakaありがとうございました.
> Ngraph上で可能な限り飾り付けを行い、gra -> eps -> LaTeX です。
やはりそれしかないっぽいですかねぇ...
普段はepsを Tgif や Xfig に読ませて飾り付けをするという方法をとっていたのですが,
あまりスマートではないということと微妙に付け足した絵の
位置がずれるといった点が気にいらなかったのですが...
貴重な情報ありがとうございました.
P.S.
gra2obj楽しみにしています.
auto_scaleのときには(も)、
ここでお世話になり、ありがとうございました。
> UNIX系OSでWindows BMPのような役割をはたしてきたものというとXBM(?)とかでしょうか?
> でも,ベクトル形式でかつ標準的なものといいますとすぐに思い付きません.
「標準」はないのでしょうね。
> 僕がよく利用しているお絵かきソフトは「Xfig」でこのファイルが読めれば
> 僕としては幸せなのですが,世の中的にはTgifを使っていらっしゃる方の方が
> 多いようにも思います.
XfigもTgifのobj形式も
ファイル形式が公開されている(よう)なので、
graファイルとのデータの変換は
機能が重なっている部分については
原理的には可能のはずです。
実はgra2objなるものを作り掛けていて少し調べているのですが、
シンプルなgra形式 -> 高機能なobj形式
は比較的楽な予定ですが、
現在完成度20%程度でなかなか進みません。
使い物になるレベルまでまだまだです。
逆の obj -> gra はおそらく苦労するのではないかと思います。
多分、Tgifそのものに描いてもらえるように
patchを当てるような方法になるのじゃないかと思います。
Tgifは、
ファイル形式が公開されている、
ユーザーが多い、
日本語が使える、
機能が豊富、
など、筋はいいと思ってはいるのですが。
ところで単なる思いつきで何も調べていないのですが、
「gsのドライバーでgra形式を吐くもの」
というのは無理なのでしょうかね。
> 逆にLinuxをプラットフォームにしていらっしゃる方々はどうされているのか
> 興味があります.
私の場合Solarisですが、現状では、
Ngraph上で可能な限り飾り付けを行い、gra -> eps -> LaTeX です。
他からNgraph上へ、というのはやっていません。
ishizaka様,こんにちは.
> 逆に「事実上これが標準」と言うのをご存知でしたら作ります
> ので教えてください。
UNIX系OSでWindows BMPのような役割をはたしてきたものというとXBM(?)とかでしょうか?
でも,ベクトル形式でかつ標準的なものといいますとすぐに思い付きません.
僕がよく利用しているお絵かきソフトは「Xfig」でこのファイルが読めれば
僕としては幸せなのですが,世の中的にはTgifを使っていらっしゃる方の方が
多いようにも思います.
> もしベクトル形式でなくてイメージで良いのでしたら、伊東さ
> んの「Ngraph 上に Bitmap を貼りつけるマクロ」が使えます
> ね。
現在使える環境がLinuxしかないので...
逆にLinuxをプラットフォームにしていらっしゃる方々はどうされているのか興味があります.
sugitaさん、こんにちは。
> Linuxで動くプログラムで他の画像形式(例えば,epsなど)から
> graファイルに変換してくれるようなものはないのでしょうか?
Windowsですとメタファイル形式がベクトルデータの標準的な
フォーマットになっていますので良いのですが、Unix の場合
ベクトル形式の標準的なフォーマットが無いのではないかと
思います。PSは事実上、印刷の標準フォーマットになっている
様ですが、データ交換用としては多機能過ぎる感じがします
(インタープリットが大変すぎます)。
逆に「事実上これが標準」と言うのをご存知でしたら作ります
ので教えてください。
もしベクトル形式でなくてイメージで良いのでしたら、伊東さ
んの「Ngraph 上に Bitmap を貼りつけるマクロ」が使えます
ね。
はじめまして
基本的な質問で恐縮です.
使っているのはNgraph 6.03.14プラットホームはLinuxなのですが,グラフ上に別に作成した画像を
挿入したいと考えています.
graファイルにすればインポートできると思うのですが,
Linuxで動くプログラムで他の画像形式(例えば,epsなど)から
graファイルに変換してくれるようなものはないのでしょうか?
もしあるのなら是非教えていただきたく思います.
nsさん、こんばんは。
> 75,100dpi:unscaledの方は入っていたので全然気づかなかったです。
そうなんですか。デフォルトで unscaled しか入っていない
事があるのですね。ご報告どうもありがとうございます。
今後、同様の問題で質問された時に非常に助かります。
ishizaka様 こんばんは。
大昔(半年前くらい?)にKondara-2.1上でテキストが表示されないと
質問したnsです。そのときはお世話になりました。
今ごろ解決したので御報告します。
font pathに
/usr/X11R6/lib/X11/fonts/75dpi
/usr/X11R6/lib/X11/fonts/100dpi
が含まれていませんでした...
75,100dpi:unscaledの方は入っていたので全然気づかなかったです。
もう忘れているかも知れませんが、御報告と御礼まで。
FEM男さん、こんばんは。
> 軸の数値をオートスケールではなく自分で入力
手動で軸を設定するには、「軸ダイアログボックス」で
「最小」「最大」「増分」を入力します。
>(例えばスケールに取りたい数値を書いたファイルを読み
>込んで入力)は出来るのでしょうか?
データファイルの一行目に「データファイル埋め込みオプション」
を入れておきますと、「データファイルダイアログボックス」
の「ファイルから設定読込」ボタンを押して軸の設定を行う
事ができます。例えば X軸 のスケールを 0〜1.0 で増分を
0.1 にするには、データファイルの先頭に
-zx0,1,0.1 -s1
と入れておきます。-s1 の意味は「先頭スキップ行数」を 1
にします。
オプションの詳細はヘルプの以下の部分を見てください。
http://hp.vector.co.jp/authors/VA001068/doc/data.htm#DATAFILEOPTION
こんばんは.Nグラフ6.02について質問です.軸の数値をオートスケールではなく自分で入力(例えばスケールに取りたい数値を書いたファイルを読み込んで入力)は出来るのでしょうか?
tanakaさん、isizakaさん、こんばんは。
>tanaka さん
遅ればせながら、ngp2 側でも auto_scale を行える様にしてみました。
よろしければお試しください。
http://homepage3.nifty.com/slokar/ngraph/ngp2-1.0.7.tar.gz
>isizaka さん
> これは気づかずに失礼致しました。リンクを変更致しました。
お願いしようかと思いつつ、何もしてませんでした。
対応ありがとうございました。
murakamiさん、こんにちは。
> ところで、Ngraphで2バイトコードを使用せずにギリシャ文字を表示できますか?(例えばTeXの\alphaの様な感じで)
Symbolフォントの a,b,c,... は α,β,γ,... になります。
また、ver 5.x の PRM ファイルを読みこむ時に、「全角ギリ
シア--->Symbol」のオプションをチェックしておくと自動的
に変換されます。
> また、Åなどの特殊記号は表示できますか?
これは Times, Helvetica で \xc5 になります。使える
フォントを見るには demo\encoding.ngp を読みこんで、
フォント名 (Times, Symbolなど)を入れて一覧表示させ
ます。
ishizakaさん、こんにちは。
先日は不躾なメールをお送りして、すみませんでした。
早速、Windows版Ver.6.03を利用させてもらっています。
Ver.5.43からかなり変更されているようで、慣れるまで少し時間が掛かりそうですが頑張ります。
ところで、Ngraphで2バイトコードを使用せずにギリシャ文字を表示できますか?(例えばTeXの\alphaの様な感じで)
また、Åなどの特殊記号は表示できますか?
Ver.5.43では漢字コードの一部が印刷時に文字化けした(表、農など)ので出来るだけ半角の英語表記にしてフォントを揃えたいと思っているのですが。
早速のご返答ありがとうございます。
> 各 *.ngp ファイルの最後に
>
> axis:0-!:auto_scale:'file:0-! 0'
>
> という一行を追加するとうまく動きませんでしょうか。
この通りでうまくいきました。おかげさまで快適です。
どうもありがとうございました。
tanakaさん、伊東さん、こんばんは。
> > [2] 伊東さんのページ
> > nifty内で引越されたようです。
>
> 自作 CGI が使えるとのことでサーバを変えてみました。
これは気づかずに失礼致しました。リンクを変更致しました。
今後ともよろしくお願い致します。
早速のご返答ありがとうございます。
> 各 *.ngp ファイルの最後に
>
> axis:0-!:auto_scale:'file:0-! 0'
>
> という一行を追加するとうまく動きませんでしょうか。
この通りでうまくいきました。おかげさまで快適です。
どうもありがとうございました。
tanaka さん こんにちは
> [1.1]
> まず、伊東さんのページにあるngp2を利用し、
> *.ngpファイルから*.epsファイルまで大量に一気に作る方法と、
> *.ngpファイルの中で
> axis::min=0
> axis::max=0
> axis::inc=0
> と書いておきスケールの自動設定を行ってもらうことを
> 組み合わせようと考えました。
> やってみると、
> file: axis parameter is not set.
> と言われて、データ点の描かれていない
> epsファイルが出来上がります。
各 *.ngp ファイルの最後に
axis:0-!:auto_scale:'file:0-! 0'
という一行を追加するとうまく動きませんでしょうか。
# このようなグラフの自動作成についても簡単に書こうかとは
# 以前から思っているのですが、なかなか実行しません...
> [2] 伊東さんのページ
> nifty内で引越されたようです。
自作 CGI が使えるとのことでサーバを変えてみました。
いつもお世話になっています。
Ngraph for X11 version 6.03.14 を Sun Solaris 8 for sparcで
使っています。
質問と気づいた点と要望です。
[1] ngp -> eps
大量のデータを作図し、epsに書き出すことを考えています。
スケールの自動設定をGUIを使わずに済ませるようにしたいです。
*.ngpファイルを作っておき、
ngraphをfilterのように使い、
スケールの自動設定を行ってepsを書き出すところまで
一気に出来たらうれしいと思っています。
[1.1]
まず、伊東さんのページにあるngp2を利用し、
*.ngpファイルから*.epsファイルまで大量に一気に作る方法と、
*.ngpファイルの中で
axis::min=0
axis::max=0
axis::inc=0
と書いておきスケールの自動設定を行ってもらうことを
組み合わせようと考えました。
やってみると、
file: axis parameter is not set.
と言われて、データ点の描かれていない
epsファイルが出来上がります。
エラーを回避しスケールの自動設定を実現する
何かよい方法があれば教えてください。
[1.2]
伊東さんのページ
http://homepage3.nifty.com/slokar/ngraph/script.html
によると、auto_scaleという機能があるらしいですが、
その使い方がよく分かりません。
まねしてやってみてもうまく行きません。
何かもうちょっと分かりやすい実例でも教えて頂ければ幸いです。
現状は、結局GUI経由で使っています。
手間はかかるけれどとりあえず困ってはいないのですが、
いい方法があるのでしたらよろしくご教授下さい。
[2] 伊東さんのページ
nifty内で引越されたようです。
[3] ファイル名の選択
要望なのですが、
「データファイルを開く」を押すと出てくる
'Data Open'のウィンドウでファイル名の選択が可能なのと同様に、
'Data Window'の中でファイルを選択して出てくる
ウィンドウのところで
どこかのボタン(例えば「ファイル名」)を押すと
ファイル名の選択のウィンドウが開いてくれたら
いいのになあ、と時々思います。
ファイル名を手で変更しようとするとよく間違えるので。
これも困っているわけではないので
ご検討して頂ければ幸いです。
以上、よろしくお願いします。
あけましておめでとうございます。
>突然なのですが、最近パソコンを買い替え、OSをWindousXPにし>たところ、graファイルを読み込めなくなりました。
Windows XP で動作チェックを行いました。取り敢えず gra
ファイルに関して調べてみましたが、結論から言いますと
特に問題が起きませんでした。もう少し詳しい状況をお知ら
せ下さい。> 八木さん
動作チェックは以下のようにしました。
Windows XP Professional クリアインストール
なお、インストール時に「更新ファイルのダウンロード」
をするかどうか聞かれましたが、「ダウンロードしない」
にしました。
Ngraph 6.03.14 で描画したグラフを graファイルとして
出力。次いで、その graファイルを開いて描画させました。
八木さん、こんばんは。
> XP対応のNgraph、最新バージョンはないのでしょうか?
> 現在、論文作成中につき,graファイルの復興を切実に待っている次第です。
非常に申し訳ありませんが、WindowsXPの動作チェックは
正月休みに行いたいと思います。誠に申し訳ありません。
はじめまして。
突然なのですが、最近パソコンを買い替え、OSをWindousXPにしたところ、graファイルを読み込めなくなりました。
XP対応のNgraph、最新バージョンはないのでしょうか?
現在、論文作成中につき,graファイルの復興を切実に待っている次第です。
現在の状況をぜひ教えてください。
李ジョンウォンさん、こんばんは。
以前、「この掲示板には何でもOK」と言うような事を
書きましたが、求人広告はちょっとご遠慮願えないかと
思います。(私は求人内容に責任持てませんし)。大変に
申し訳ありませんが、削除させて頂きました。
江戸川さん、こんばんは。
> また質問で申し訳ないんですけど、エヌグラフはパワーポイントには貼り付けられますか?
はい。クリップボードへのコピーは(ちょっと分かり難いかも
知れませんが)、[出力]-[クリップボード] メニューで行いま
す。
丁寧なレスありがとうございました
是非やってみます
また質問で申し訳ないんですけど、エヌグラフはパワーポイントには貼り付けられますか?
江戸川さん、こんばんは。
> に、移動ツールで移動しなければならないのですか?
はい。そうです。DOS版の Ngraph では軸タイトルそれぞれ
に個別 legend として用意してあったのですが、軸タイトル
の位置って結構人それぞれで、あまり厳密に決まっていない
なぁと思いまして削除してしまいました。
が、位置がユーザ毎に異なっていても、同一個人が作った
グラフでは軸タイトルはいつも同じ位置に有って欲しいと言
うのも分かります。
その場合、以下のようにしてください。
(1) Ngraphを素で立ち上げます。
(2) 自分の好みの位置に、例えば文字列「X軸タイトル」、
「Y軸タイトル」の [legend text] を入れます。
(3)[設定]-[初期状態としてセーブ(グラフ)]で記憶させます。
この様にしておきますと、Ngraphを立ち上げると、デフォル
トで[X軸タイトル」、「Y軸タイトル」の legend text が入っ
ていますので、後は文字列を変更します。これを移動する時は、
ctrlキーを押しながらドラッグします。こうしますと水平、垂
直にしか動きませんので、共通にしたいであろう「軸からの距離」
はいつも同じに揃える事ができます。
説明がし難いのですが、伝わりましたでしょうか?
初めまして、Ngraph便利に活用させていただいております。
今回はグラフ上での、縦軸、横軸のタイトルをきれいにそろえる方法を伺いたいのですが これは一度、文字ツールで書いた後に、移動ツールで移動しなければならないのですか?
石坂さん 早速の RES 有難うございました。
メモリー関数の件 次期バージョンに期待します。
$CALC$.DATについては了解いたしました。
今後とも宜しくお願いいたします。
Htonさん、こんばんは。
> M(0,X*12)=RM(0)としてXの値を1〜20までを計算すると
> X=16の時のYの値が欠落してしまいます。
使い方に問題は全くありません。Ngraphのバグでした。
申し訳ありません。次期バージョンでは間違い無く修正
されます。
> エディターで見ていますが、直接見ることが出来るでしょうか?
直接と言いますと、$CALC.DAT 中に既に計算されたデータ
が入るようにできないかと言う事でしょうか?
だとしますと現状ではできません。と言いますのは、アド
インは補助アプリでして、CALCアドイン自体には数式の計
算機能が備わってないからです。
初めまして、Ngraph便利に活用させていただいております。
今回は、メモリー関数についての質問です。
M(0,X*12)=RM(0)としてXの値を1〜20までを計算すると
X=16の時のYの値が欠落してしまいます。
また、Xの値を1〜50までとすると、Xが16、46の時、Yの値が欠落します。
M(0,X+12)=RM(0) M(0,X-12)=RM(0) M(0,X/12)=RM(0)は、正しく
計算されます。
メモリー関数の使い方に問題があるのでしょうか?お尋ねします。
また$CALC$.DATの内容を見るのに、データーファイルに出力して
エディターで見ていますが、直接見ることが出来るでしょうか?
以上、宜しくお願いいたします。
石坂様
お忙しい中,お返事有り難うございました.
色々とお手間を取らせてしまいますが,何卒よろしくお願い
致します.
DOS時代からNgraphを使用しているので,Ngraph ver 5.43
が手放せません.使い勝手に慣れているので,今後も使える
と本当に助かります.よろしくお願いいたします.
chikaさん、こんばんは。
> マニュアルを手元に置いてみたいのですが、
> 一括してダウンロードすることは出来ませんか。
Windows版でしたら、マニュアルもアーカイブ(ngp6314.zip)
の中に一緒に入っております。ただ、ngp6314.zip を(例え
ば \ngraph のフォルダに)展開した際には
\ngraph
|
|
+--- \doc
|
|
+---dialogs
+---img
+---tutorial
とサブフォルダができていなければなりません。まず、これを
ご確認下さい。解凍ソフトに「サブフォルダを有効にする」の
様なオプションが有るようでしたら、それを有効にして解凍し
てください。
また、\ngraph\doc のフォルダには ngraph.htm が入っている
筈でして、[ヘルプ]-[ヘルプ] では、この ngraph.htm をブラ
ウザで開いております。
tomoさん、こんばんは。
> 不具合は,以下のようなものです.
> まず,Ngraph ver 5.43 を立ち上げます.
> その後,Graph→Position→Determine all と行って,グラフ
> の大きさを決めようとすると,画面が固まってしまいました.
version 5.4 系はサポート外ですが、何とかしたいと思います。
ただ、Delphi のインストールから初めますので、もう少し時間
を下さい。何卒、ご了承のほどよろしくお願い致します。
マニュアルを手元に置いてみたいのですが、
一括してダウンロードすることは出来ませんか。
石坂様
いつも Ngraph fow Windows を利用させていただいております.
私は,NEC PC-98の時代(DOSの時代)からNgraphを使っている
ので,今もそのときの仕様と同じ Ngraph ver 5.43 を Ngraph
fow Windows とともに愛用しております.
新しいコンピュータを購入したところ,Ngraph ver 5.43 に
不具合が発生しました.新しく購入したコンピュータのOSは
Windows Millennium です.以前まで使っていた Windows98
では,この不具合は発生しませんでした.
不具合は,以下のようなものです.
まず,Ngraph ver 5.43 を立ち上げます.
その後,Graph→Position→Determine all と行って,グラフ
の大きさを決めようとすると,画面が固まってしまいました.
数値を入力してグラフの大きさを決めた際には,画面が固まると
いう不具合は起きませんでしたので,今はそうやってグラフの
大きさを決めております.
また,X軸やグラフのタイトルを入力しようとしたときも同様
な症状が起こりました.
タイトルを付けようと
Option→Legend→Title(もしくはString)
という手順で行くと画面が固まってしまいます.
この不具合を直していただけないでしょうか?
よろしくお願いいたします.
isizaka様、お手数おかけしてすいません。resありがとうございました。
> こちらの win2k で調べて見ました。
> 特に異常が出ませんでした。
再現性ないようですね。私の環境の問題かもしれません。
>ただし、Unix版では PRMファイルの改行コードをUnix
> 仕様に変換しておかないとデータのロードが正しくできない
> バグが発見されましたので、次期バージョンでは修正します。
Linuxでも使ってますのでよろしくお願いします;)。
> ん〜、NGS[num]はシェルでリダイレクトとかパイプを使った
> 時に生成されるテンポラリファイルです。これは ngp のロード
> の時しか生成されないファイルで、PRMのロードでは生成され
> ないのですが、テンポラリフォルダに残っています?
> (テンポラリファイルを生成して、削除する前に強制終了しま
> すと残ってしまいます)
異常終了するので残っていたんですかねぇ。
この件についてはprmファイル、動作環境も含め、もう少し調べてご報告いたします。いろいろありがとうございました。
momonga様。返信が遅くなってしまいました。
どうもすみません。
こちらの win2k で調べて見ました。
DOS版Ngraphに付属の demo1.prm 〜 demo4.prm をデータ、GRA
ファイル込みでセーブし直した 4 つの prm ファイルを使いま
した。
これを Ngraph 6.03.14 を使って、
(1) 上記 prm ファイルの読み込み(カレントフォルダにデータ
を展開、overwrite 確認では Y としました)
(2) 描画
(3) データファイル込みで ngp にセーブ
これを demo1.prm〜demo4.prm について行い、それを 3ラウ
ンド(つまり全部で 12回の読みこみとセーブ)行ったのですが、
特に異常が出ませんでした。
で、ついでに上記の demo1.prm〜demo4.prmを Linux版でも
ロード、セーブしてみましたが特に問題はありませんでし
た。ただし、Unix版では PRMファイルの改行コードをUnix
仕様に変換しておかないとデータのロードが正しくできない
バグが発見されましたので、次期バージョンでは修正します。
> 一時的に/usr/local/tmp的なところにテンポラリとしてNGS[num]というファイルが吐かれているようなのですけども、そ
ん〜、NGS[num]はシェルでリダイレクトとかパイプを使った
時に生成されるテンポラリファイルです。これは ngp のロード
の時しか生成されないファイルで、PRMのロードでは生成され
ないのですが、テンポラリフォルダに残っています?
(テンポラリファイルを生成して、削除する前に強制終了しま
すと残ってしまいます)
isizaka様、ご報告遅れまして申し訳ありませんでした。
> 一応、他のコマンド get とかでも代用は可能だとは思います。
はい、6.02用にはそうさせて頂いてますぅ。でもexistのほうが便利ですねぇ。
> > 一部のprmファイルで6.03だと読み込みと描画はOKなんだけど、ngp,graへの吐き出し時にエラーがでてしまうんです、それで
> すみません、今週はちょっと忙しくて調べる時間が取れない
> のですが、そのエラーだけでも教えてください。
詳しいことを書いてなくて申し訳ありませんでした。
まだいろいろ実験している最中なんですけど、分かっている範囲で書いてみます。
エラーはwin2kが出してましてngpが強制終了されます。
エラーが出るのは特定のprmではなく、loadのタイミングみたいです。
特に前にloadしたprmファイルがデータ付のもので、データファイル名が同じモノを使っていた場合に起こります(要するに何回か同じデータ付prmをloadすると起こりやすい、カレントにデータが吐かれている場合などは特にエラーが出ているような気がします)。でも出ないときもあるんです、graででてもngpででない、またその逆もあります。
一時的に/usr/local/tmp的なところにテンポラリとしてNGS[num]というファイルが吐かれているようなのですけども、そのあたりの問題なのかもしれないです。
もう少し調べてみます。なお6.02ではこの問題は起きないみたいです。
簡単ですいません。
momongaさん、こんにちは。
> スクリプトを使わせていただきました。6.02(00)だと"existっていうコマンドは知らない"って言われちゃいます。6.03(14)で
はい。確かに内部コマンド exist は後で追加しました。
一応、他のコマンド get とかでも代用は可能だとは思い
ます。
> 一部のprmファイルで6.03だと読み込みと描画はOKなんだけど、ngp,graへの吐き出し時にエラーがでてしまうんです、それで
すみません、今週はちょっと忙しくて調べる時間が取れない
のですが、そのエラーだけでも教えてください。
よろしくお願いします。
prm2ngpって勝手に名前をつけてすいません。
スクリプトを使わせていただきました。6.02(00)だと"existっていうコマンドは知らない"って言われちゃいます。6.03(14)ではうまく動いてくれました。
一部のprmファイルで6.03だと読み込みと描画はOKなんだけど、ngp,graへの吐き出し時にエラーがでてしまうんです、それで6.02を使用していたんですけど。なぜでしょうか?うまくいくのと行かないのとでは何かあるんでしょうかねぇ。調べてみて分かればまたご報告いたします。
> p.s.Ngraphのshはほんとに便利ですね。シェルスクリプト好きな私にはもうたまりません(笑)。
まだ DOS のバッチファイルしか知らなかった頃に、sh の
スクリプトを見て非常に感激して、その感動がずーっと続
いて現状のngraphになっています。
#オブジェクトのフィールドとか関数のマニュアルが無いのは
#非常に不親切ですみません。完全マニュアルを作らなければ
#とは思っています。
早速のres、ありがとうございます。
スクリプトを見て、なんとなくわかってきました!
>データファイル込みのNGPファイル生成にも
> 対応したスクリプトを、このWebページの「簡単なアドインス
> クリプト集」の 5番目に追加しておきました。
ご親切にありがとうございます。参考に作らせていただきます。
p.s.Ngraphのshはほんとに便利ですね。シェルスクリプト好きな私にはもうたまりません(笑)。
> (2) データファイル込み、マージファイル込みの NGP ファイル
> の生成には、もう少し複雑な事をする必要があります。もし
と書きましたが、データファイル込みのNGPファイル生成にも
対応したスクリプトを、このWebページの「簡単なアドインス
クリプト集」の 5番目に追加しておきました。
momongaさん、こんばんは。
以下のファイルをアドインに追加して実行すると、複数の
PRMファイルからNGPファイルを作成できます。
ただし、幾つか不完全な部分があります。
(1) セーブしたNGPファイル名が demo1.prm.ngp の様になり
ます。sed とかがインストールされていれば、きちんと
demo1.ngp とかにできるのですが、内部コマンドだけだと
こうなってしまいます。
(2) データファイル込み、マージファイル込みの NGP ファイル
の生成には、もう少し複雑な事をする必要があります。もし
必要でしたら言ってください。もうちょっと考えます。
===ここから===
#
new dialog
PRMS=${dialog::get_open_files:'PRM_File(*.prm) *.prm'}
del dialog
#
# load option settings.
#
new prm
prm::symbol_greek=True
prm::ignore_path=False
#
for file in $PRMS
do
#
# clear current graph.
#
for drawable in `derive -instance draw fit`
do
del $drawable:0-!
done
#
# load PRM file.
#
prm::file="$file"
prm::load
#
# make filename
#
NGP=${file}.ngp
#
# save header
#
echo "#!ngraph" > "$NGP"
echo "#%%creator: "${system:0:name}" for Windows" >> "$NGP"
echo "#%%version: "${system:0:version} >> "$NGP"
#
# save graph to NGP file.
#
for drawable in `derive -instance draw`
do
get $drawable:0-! -id -field save >> "$NGP"
done
get gra: -id -field save:device >> "$NGP"
del gra
done
del prm
===ここまで===
Ngraph歴約10年になります。昔のprmファイルを今のngpに変換したいのですが、大量にあり自動化を考えています。伊東さんのマクロ(NGP2.NSC)を参考に作ろうかと思っているんですけど、prmのオブジェクトぽいものは存在してるみたいですがなかなかうまく動いてくれません。何かヒントがあれば、恐縮ですが教えていただきたく思います。どうぞよろしくお願いします。
kmyさん、こんばんは。
> これでもう大丈夫と思います。
了解しました。私もこれで安心して出張に行ってこれます。
gra2ps.exe は基本的には Ngraph 本体とは独立なので
別配布にしているのですが、ngraph.ini の中に gra2ps.exe
の記述が有るので、6.03.12 ---> 6.03.13 では独立には
なっていませんでした。初期化ファイルを gra2ps.ini など
にして、独立性を高めたいと思います。
isizaka様
解決しました。
私が使用していたgra2ps.exeのバージョン
が古かったのが原因のようです。
ned6310.zipを使っていました。
最新のned6313.zipをダウンロードして
epsファイルを作るとphotshopのエラー
は出なくなりました。
ちゃんと指定通りのフォントで表示されています。
これでもう大丈夫と思います。
ありがとうございました。
おかげで解決しました。
kmyさん、こんばんは。
> そちらではこういう現象は起きないのでしょうか?
Ngraph 6.03.14 と ned6313.zip の中の gra2ps.exe を使い、
demo5c.ngp から作成した ps ファイルを Photoshop 5.0.2
で読みこみましたが、どちらもエラーメッセージは出ません
でした。
Windows98 と Windows 2000 上で、全く同じ作業(ngraphに
よるpsの作成とPhotoshopでの読みこみ)を行いましたが、
結果は同じで問題ありませんでした。
Ngraph 6.03.14 を使いましたが、6.03.13 とは Postscript
関係では変わっていませんので(gra2ps.exeが共通ですし)、
これは関係無いと思います。
#gra2ps.exe も最新の ned6313.zip ですよね?
それと、私も欧文誌の投稿にはいつも使っていますが、今の
ところ問題が起きた事がないです。
もし、よろしければ、単に legend text を一つ作っただけの
様な簡単な Postscriptファイルを(もちろん Photoshop で
エラーの出るもので)、私宛に e-mail していだければ、こちら
の環境で調べてみます。
#ただし、明日は出張ですので、ご返事は金曜の夜になって
#しまいます。今日中にメイルを頂ければ、すぐに調べてみ
#ます。
isizaka様
早速の回答ありがとうございます。
色々試してみましたが同じでした。
もちろん日本語フォントは使っていません。
簡単のため、座標軸は描かせずに
白紙の状態で例えばTemperatureとだけ文字を
入れてepsファイルを作り、どのフォントのときにPhotoshopで
「このファイルではコンピューターにインストールされていない
フォントを使用しています」というメッセージが出るか
をチェックしましたが、試したものすべて
(Times, Helvetica, Courier,・・・)で出ました。
上記のテストはもう一台ある別のパソコン(WinNT4.0)
に新たにNgraphをインストールし完全にデフォルト状態で
やった結果です。
書き忘れましたが、Ngraphはver. 6.03.13です。
そちらではこういう現象は起きないのでしょうか?
kmyさん、こんばんは。
> 表示できるのですが、Adobe Photoshop5.5なんかでは
> 「このファイルではコンピューターにインストールされていない
> フォントを使用しています」というメッセージが出て
今、Photoshop で調べて見ましたが、日本語フォントが含
まれていると、ご指摘のエラーが出るようです。ひょっと
して、ギリシア文字などで日本語フォントを使ってしまっ
たと言うことはないですか?ギリシア文字などは %F{Sym}
でシンボルフォントを使うようになります。
そうしませんと、欧文誌ということですので、あちらの
PostScriptでは日本語は使えませんので、エラーになりま
す。
そうではないようでしたら、ご面倒をお掛けしますが、
上手く表示できないフォントを教えてください。
はじめまして。
Ngraph、重宝しています。
実は少しトラブっていまして、初歩的なことかもしれませんが
教えていただけないでしょうか。
最近とある欧文誌にNgraphにより得たEPSファイルと一緒に
論文を投稿したのですが、グラフ中の文字がうまく表示できない
と言われました。
早急に問題を解決してfigureを送り直さなければなりません。
そのEPSファイルですが、
こちらのパソコンでは、Ghostscriptではたしかに問題なく
表示できるのですが、Adobe Photoshop5.5なんかでは
「このファイルではコンピューターにインストールされていない
フォントを使用しています」というメッセージが出て
グラフ中の文字が指定したフォントで表示されません。
フォントの設定はほぼデフォルトのままです。
epsファイルへの変換にはgra2ps.exeを使っています。
何か解決策はあるでしょうか?
よろしくお願いします。
あかねさん、こんばんは。
> 私は下のような日付時刻型のデータを
申し訳ありませんが、日付や時刻を簡単に扱うようには
できていません。
> 10:00:00,2
> 10:30:00,4
> 11:00:00,5
> ------------
ただし、この場合、「データファイル」ダイアログボックスで、
「読み込み」ボタンを押し、「区切り文字」に : を追加する
と、上のファイルの2行目の場合、
第1カラム 10
第2カラム 30
第3カラム 0
第4カラム 4
となります。そこで、Y-軸にプロットするカラムを 4 にして、
X軸の変換数式には %01+%02/60+%02/3600 とすれば、横軸は
hour でプロットする事ができます。
また、日付の場合も同様ですが、数式変換に MJD(Y,M,D) が
有りまして、これは閏年なども考慮した通算日数です。
(MJD(Y,M,D)-MJD(1900,1,1))/365.25+1900
と数式変換に入れれば(Y,M,Dは上の時刻の例と同じで、
%01,%02,%03等とします)、横軸を年としたプロットにな
ります。(グレゴリオ暦の1年は平均365.25日です)
はじめまして。
私は下のような日付時刻型のデータを
取り扱うことが非常に多いのですが、Ngraphでは
日付時刻型のデータを読み込んだり、目盛ラベルに
表示することはできないのでしょうか?
例
2001/10/04 (YYYY/mm/dd)
2001/10/4 (YYYY/mm/d)
23:59:50 (HH:MM:SS)
2001/10/04 23:59:50 (YYYY/mm/dd HH:MM:SS)
...
試しに下のデータをNgraphで読み込ませてみたのですが、
file axis parameter is not setというエラーが出て
しまいました。
------------
10:00:00,2
10:30:00,4
11:00:00,5
------------
http://www.geocities.com/e2o3vf/100.gif
このように横軸を日付にしたグラフなどを描きたいと思って
います。
よろしくお願いいたします。
iwasakiさん、こんばんは。
> (1) %F{TimesBold}D+PS+%F{Symbol}a%F{TimesBold}(D+L)
> (2) A+B+C+D
確認しました。(1)の様にフォントを途中で変更した場合には、
テキストを分割して出力するのですが、その際、拡張メタファ
イルでは文字のアスペクト比が画面表示に比べて僅かに横長に
なっていまして、重なってしまったようです。修正します。
すみませんが、しばらくはメタファイルでのご利用をお願いし
ます。
> ところでこの現象は、WindowsMe だと起きなかったりします。
> Windows2000 固有の現象なんでしょうか?
Windows 2000 では各ピクセルの論理的形状が、画面のアスペ
クト比を反映して「正方形」ではなくて「長方形」になってい
るようです(画面表示デバイスのX方向の dpi とY方向の dpi
が異なっていました)。これがそのままフォントのアスペクト
比の差として現れていました。Windows 9x系列では、各ドット
はいつも「正方形」なので、問題が起きないようです。が、
ひょっとするとデバイスドライバに依存するかも知れません
(dpiを返すのはデバイスドライバだと思いますので)。
> ただ、WindowsMe は WindowsMe で PowerPoint に Ctrl+V で
> 貼り付けたら米粒みたいに縮小されて張り付きました。
> PowerPoint でしか起きない現象ではありますけど。
Windows98の場合、付属のワードパッドだとそうなってしまう
のですが、ワードだと大丈夫なんですよ。アプリケーションに
依存するみたいです。
Windows 2000 + Ngraph 6.03.14 を使っています。
Ngraph からクリップボード経由の他のソフトへの貼り付けで
文字の配置がおかしくなるという現象に遭遇しています。
Ngraph から拡張メタファイルでコピーすると起きますが、
メタファイル形式だと起きないようです。
例えば、以下の制御文字を使ったテキスト(1)と使っていない(2)の
2種類を作成して、クリップボードに拡張メタファイル形式で
コピーし、メタファイルが貼り付けられるソフト、例えば、PowerPoint へ
貼り付けると、制御文字を使った方は+とαが重なって表示
されます。(2) の方は特に普通に表示されます。
(1) %F{TimesBold}D+PS+%F{Symbol}a%F{TimesBold}(D+L)
(2) A+B+C+D
Ngraph から拡張メタファイル形式ではなくメタファイル形式で
コピーすれば特に問題はないので、とりあえず、そうやって
しのいでいます。
もしなにか解決策があればお願いします。
ところでこの現象は、WindowsMe だと起きなかったりします。
Windows2000 固有の現象なんでしょうか?
ただ、WindowsMe は WindowsMe で PowerPoint に Ctrl+V で
貼り付けたら米粒みたいに縮小されて張り付きました。
PowerPoint でしか起きない現象ではありますけど。
伊東さん、「けにちゃん」さん、こんばんは。
> らないのですが、以下のようなアプローチはいかがでしょうか。
ふむふむ。なるほど。そういう方法がありますね。いや、実際
前のレスを付けた時も、伊東さんの GRAファイル位置決めの
スクリプトが一瞬頭をかすめたのでありました。
「けにちゃん」さん、isizaka さん こんばんは
けにちゃんさんが、どの様な機能を想定しているのかよく分か
らないのですが、以下のようなアプローチはいかがでしょうか。
coordinate window とほぼ同様の内容をファイルに保存できます。
############################################################
FILE="coordinate.dat"
if exist mark:!
then
X=${mark:!:x}
Y=${mark:!:y}
echo "(X:$X Y:$Y)" > $FILE
for i in object axis -instances
do
if get axis:$i coordinate:"$X $Y"
then
echo `get axis:$i -field id name coordinate:"$X $Y"` >> $FILE
fi
done
fi
############################################################
座標を知りたい場所に「マーク」を描画してから実行してください。
「けにちゃん」さん、こんばんは。
> さてまた質問なのですが、Ngraphのアドインでグラフの座標を読みとりを行うことができるものなどはあるのでしょうか?
グラフの座標を読み取るという事は、マウスの位置を取得する
事になるのですが、アドインに GUI(グラフィカル・ユーザ・
インターフェース)の機能はありませんので、できないです。
ただ、[出力]-[データファイル]の機能を少し拡張すれば、
ご要望にある程度沿うようになるかも知れません。現在この
データファイル出力の機能は、データファイルのデータを
数式変換機能で変換したものを出力するだけで、曲線とか
直線の場合にデータ点の間を補間するようにはなっていま
せん。補間したデータを出力できるようにしておけば、
何点もの座標を読みたいような場合には便利かも知れませ
んね。
この点は時間があれば、次期バージョンに入れたいと思い
ます。
ishizakaさん
先日はどうもありがとうございました。ちゃんと回転できました。
さてまた質問なのですが、Ngraphのアドインでグラフの座標を読みとりを行うことができるものなどはあるのでしょうか?
現在あるデータ読みとりソフトをつかって解析しているのですが、Ngraphにそのような機能があるのなら便利だと思い質問しました。
Ngraph上で座標の確認をするときはCoodinateWindowを用いていますが、これを自動的にファイルに落としたりはできるのでしょうか?
石坂さんフォローいただきありがとうございました.
今日もう一度,今までの操作をやり直してみたら,すんなりうまくいきました.
どうも相性の悪いソフトを一緒に立ち上げてたのがまずかったみたいです.
十分なメモリを確保しないまま起動していたのが原因かもしれません.
それでは.
石本さん、こんばんは。
> とし,Legend のダイアログボックスが立ち上がり,OKを押す
Legend のダイアログボックスが立ち上がっているのでしたら
パスなどの設定は問題ありません。それで良い筈なのですが、
本当にlegendは生成されていませんか?生成されるlegendの
位置はデフォルトでは (X,Y)=(5000,5000) の位置になってい
ます。例えば、これが表示領域外に行ってしまっているとか
は無いでしょうか?
原因が分かりませんので何とも言えませんが、原因の突き止
め方を以下に記します。
1. legend.nsc で 16行目の
SCRIPT=${system:0:temp_file}
を適当なファイル名にします。例えば
SCRIPT="c:/tmp/test.ngp"
とします。
2. legend.nsc の25行目を削除(あるいはコメントアウト)
します。具体的には
# system:0:unlink_temp_file "$SCRIPT"
のように先頭に # を入れてコメントアウトします。
3. この状態で[アドイン]メニューで"Legend"を実行した場合
には、1. でSCRIPTに指定したファイルが出来上がる筈です。
このファイル(上の例では c:/tmp/test.ngp)が出来あがってい
るかどうかが問題となります。出来あがっている場合、この
ファイルは[グラフ]-[開く]で読み込める形式のファイルなの
ですが、これが正しく記述されているかでどこに問題があるの
かが分かります。
もしお時間が有れば試して頂けると助かります。
伊東さん、こんばんは。
いつもどうもありがとうございます。メイルでも書きましたが
シェルには編集機能とかヒストリー機能が無くて不便していま
したので助かります。
legend.nsc を使ってデータの凡例を自動生成するやり方で,
設定 → アドインスクリプト→ Legend → 設定→ スクリプト設定→ 参照で
Legend.nscのある場所を指定してやって,グラフ→ アドイン→ Legend
とし,Legend のダイアログボックスが立ち上がり,OKを押すのですが,描画するとデータの凡例が出ません.
何かやり方が間違っているのでしょうか?
チュートリアルの「グラフを飾りづける 4」をやりたいのですがうまくいきません.
legend.nscを書き換える必要があるのでしょうか?
Ngraph for X11 の shell コマンドラインに GNU readline ライブラリを組み込んでみ
ました。コマンドラインで bash の様な編集機能等を利用できるようになります。まだ
動作に問題はありますが、そこそこ実用的なものができたと思いますので
http://member.nifty.ne.jp/slokar/ngraph/readline_patch.html
で公開してみました。興味ある方はお試しください。
isizakaさん、こんばんは。
> でしたら、既に変更は完了していますので、次期バージョン
> では間違いなく変更されます。
ありがとうございます。
> #gra2ps.exe の変更もあるので、ドライバだけバージョン
> #アップしても良いのですが、Ngraph.ini も変更する必要
> #があるので、本体のバージョンアップまで待つべきかか
> #迷っています。
今のところ大量に出力する必要性があまりありません。よって、混乱を避ける意味でもisizakaさんのおっしゃるとおり本体のアップまで待つと言う意見に賛成します(2、3ヶ月待つのはつらいですが・・・)。。
NightFlyさん、こんばんは。
>> この変更で良いのかどうか、
>
> はい、それで十分です。
でしたら、既に変更は完了していますので、次期バージョン
では間違いなく変更されます。
#gra2ps.exe の変更もあるので、ドライバだけバージョン
#アップしても良いのですが、Ngraph.ini も変更する必要
#があるので、本体のバージョンアップまで待つべきかか
#迷っています。
isizaka様
早速のご返事ありがとうございます。
> > #やっぱり、自動選択にした方が良いですかね?
そうですね。そのほうがオプション指定の手間が省けて助かります。
> -w -h オプションを見て、自動的に用紙も判別するようにし
(中略)
> この変更で良いのかどうか、
はい、それで十分です。
> >状況が完全に分からないのですが、このように -s オプション
> >を付けた場合、プリンタドライバのダイアログボックスが出ま
> >すよね。ここで A4 の横用紙を指定しても、印刷が切れてしま
> >うと言う事でしょうか?
>
> の部分を確認したいので、お願いします。
いえ、-sを付けてプリンタドライバのダイアログボックスをいじればちゃんと途切れることなく正常に印刷可能です。
実はすべてのオプションの組み合わせを試してまして、根尽き果てた状態のときのオプションの組み合わせを何も考えることなくつけてしまいました(苦笑)。ですので、書き込んだあと読み返して、-sオプションは余分で混乱させる元であり、もう少し頭を冷やして書き込めばよかったと少々反省してます。
補足です。
> #やっぱり、自動選択にした方が良いですかね?
-w -h オプションを見て、自動的に用紙も判別するようにし
ました。また mprint.nsc の内容は、
gra2prnw -w ${gra::paper_width} -h ${gra::paper_height} "$TEMPFILE"
と変更しますので、ngpファイルに保存してある用紙サイズは
自動的に gra2prnw.exe に渡され、gra2prnw.exe は、そのサ
イズから、自動的に用紙を選択します。
この変更で良いのかどうか、
>状況が完全に分からないのですが、このように -s オプション
>を付けた場合、プリンタドライバのダイアログボックスが出ま
>すよね。ここで A4 の横用紙を指定しても、印刷が切れてしま
>うと言う事でしょうか?
の部分を確認したいので、お願いします。
NightFlyさん、こんばんは。
> gra2prnw -w 29700 -h 21000 -s "$TEMPFILE"
状況が完全に分からないのですが、このように -s オプション
を付けた場合、プリンタドライバのダイアログボックスが出ま
すよね。ここで A4 の横用紙を指定しても、印刷が切れてしま
うと言う事でしょうか?
今のところ、-w や -h で用紙サイズを明示的に指定しても、
これは描画領域の指定に使われているだけで、用紙までは自動
選択するようになっていません。
#やっぱり、自動選択にした方が良いですかね?複数のプリント
#アウトで、一枚一枚用紙を指定するのは面倒ですよね。
isizakaさま
DOSの頃より使用させてもらっています。また、NIFTYなんかで情報を得ていたのですが、今はもっぱらこのサイトを参照しております。まずはお礼申し上げます。
さて、プリントアウトに関して質問です。
addinのMPRINTを用いて、複数のグラフを同時にプリントアウトしているのですが、A4のLandscape(つまり紙を横方向にした状態)で作成したものを複数プリントするとどうしても用紙が縦向きになって、グラフの右側部分が切れて出力されてしまいます。で、スクリプト中のgra2prnwの部分をたとえば
gra2prnw -w 29700 -h 21000 -s "$TEMPFILE"
のように書き直してみたのですが、うまくいきません。私の知識力ではこれ以上思いつかず、途方にくれています(ちょっと大げさですが)。どのようにしたらうまくいくかご教示いただけると幸いです。
なお、該当のngp fileを呼び出してプリントアウトする分には何の問題も生じません。で、現在は、一つずつ読み込んではプリントアウトするという、至って原始的な方法でその場をしのいでいます。
以上、よろしくお願いいたします。
KEIさん、こんばんは。
> 例えば、fY1軸の最大値を-1e-6、最小値を-1e-13となるように
> 対数軸表示形式でグラフ表示すること
>
> 以上なのですが、何とか良い方法はないでしょうか?
良い(簡単な)方法とは言い難いですが、方法はあります。
基本的には abs(Y) を対数軸で書きます。何もしなくて
も abs() をとるように変更されたのはご存知の通りです。
で、軸の最大を 1e-6, 最小を 1e-13 にします。次に
軸ダイアログボックスの「目盛数字」で、「先頭」に
'-' を入れて、軸の目盛数字の先頭に強制的に - を
付加します。
グラフの清書でしたら、それほど手間でもないと思う
のですが、如何でしょうか?
初めて参加させていただきます。
いつもお世話になっております。
Ver.6.03.14で、log(abs(y))の対数軸表示を難なく表示できることで便利になり、感謝しております。
実は対数軸表示について、質問(更なる要望)があります。
1.-log(abs(y))を対数軸表示させたい。
2.さらに上記の場合において、スケールの最大値及び最小値を
abs(log(abs(y)))でとりたい。
例えば、fY1軸の最大値を-1e-6、最小値を-1e-13となるように
対数軸表示形式でグラフ表示すること
以上なのですが、何とか良い方法はないでしょうか?
けにちゃんさん、はじめまして。
> 1:グラフの回転処理法について。
図形の回転は
cos(回転角)*X−sin(回転角)*Y
sin(回転角)*X+cos(回転角)*Y
ですので、Xの変換数式に cos(回転角)*X−sin(回転角)*Y を、
Yの変換数式に sin(回転角)*X+cos(回転角)*Y を入れてくださ
い。回転角はラジアン単位です。度の場合には、度 ---> ラジ
アンの変換をして SIN(度/180*PI) などとしてください。
> 2:関数のFIT(関数形を用いたものではなく視覚的に)について
>タから描いた理想的なグラフに対して、一部又は全ての部分
>で重ね合わせるようにFITさせたい場合なにか良い方法等は
この部分の意味がよく分からないのですが、例えば Y=SIN(X)
のグラフを 100個のデータ点で書いたとします。もしこれを
多項式で完全にFITさせようと思ったら、99次の多項式でなけ
ればならず、100個のパラメターを指定しなければなりません。
コンピュータには、余程の AI の機能が無ければ、どの関数
なのかを判定するのは難しいのではないかと言う気がします。
ちなみに、放物線、ガウス関数、ローレンツ関数、三角関数
を図形として作成するボタンが、左側のコントロールボタン列
の上から10番目にあります。これとご質問の内容とは関係があ
るでしょうか?
はじめまして。はじめてBBSに参加させて頂きます。
1:グラフの回転処理法について。
さて私はグラフの加工においてグラフの任意角度の回転処理をおこないたいと思っているのですが、とりあえず数式変換で回転公式を使って
X=cos(回転角)−sin(回転角)
Y=sin(回転角)+cos(回転角)
と処理させているのですが、90°単位の回転しかうまく処理されません。例えば90°反時計方向に回転させる場合は(回転角)=(pi/2)とラジアン表示で打ち込んでいます。(これはうまく処理される)30°回転の(回転角)=(pi/12)などはうまく回転処理されません。この解決法などはあるのでしょうか? また、ラジアンではなく°(度)で回転処理させたい場合はどのようにすればよいのでしょうか?
上記以外よりも良い回転処理法があればどなたか御教授下さい。
2:関数のFIT(関数形を用いたものではなく視覚的に)について普通FITTINGをするときはある任意関数形が存在してはじめておこなえると思いますが、この場合のFITではなくて単にあるデ−タから描いた理想的なグラフに対して、一部又は全ての部分で重ね合わせるようにFITさせたい場合なにか良い方法等はあるのでしょうか?私は例えば数式変換機能で切片を加えたりしてY軸方向移動などをおこなっているのですが、もっと直観的でドロ−ツ−ルを扱うようにおこなうことはできるのでしょうか?
まだNgraphを用いて日が浅いのでとんちんかんな質問かも知れませんがどなたかご返事頂けたら幸いです。
訂正です。
> で値を小さくしてください。カラーセルは起動時に64色全て確
> 保してしまいますので、ちょっとでも他のアプリケーションに
これは間違いでした。初期のバージョンではこうしていたので
勘違いしました。今は必要な時に確保しています。
それと、
> それと、プライベート・カラーセルにするのは簡単です。た
簡単ではありませんでした(^^;)。でもって、よ〜く考えたら、
問題が起きるようになったのは、色指定のダイアログで取って
くる24色分のカラーセルが不足するという事ですよね。で、この
ダイアログボックスのボタンの色も Ngraph.ini の
color_depthに従っています。よって、color_depthの値を小さく
すれば、ボタンの色も少なくなって、カラーセルの不足はなく
なるものと思います。
tanakaさん、こんばんは。
> src/object.cのoffsetの値を8で割り切れるように変更したところ、
> 動作するようになった。
いや、正直なところ、コンパイルオプションに byte-align が
無い場合、offset の値を変えるだけで、正常動作するのかど
うか自信がありません。問題ないのかも知れませんが、他にも
キャストしてポインタ操作している部分を全て調べて、問題無
い事を確認するまでは。。。
> ComboBox.cのソースをコンパイルして使用すると
> 落ちにくくなるが、以前と比べてよく固まる。
こちらに関しましては、Motif がオープンソースになってい
ますので、Solaris版の open Motif を探すのが一番ではない
かと。。。
> 以前に比べてカラーマップの不足が起きやすい。
これは、もしグラフで 8色しか使わないのであれば、
INSTALL.jisにありますように、
・色はデフォルトで 4^3=64色になっています。この値を変更するには、
Ngraph.ini の [x11menu] と [gra2x11] の color_depth= の値を変
更してください。
で値を小さくしてください。カラーセルは起動時に64色全て確
保してしまいますので、ちょっとでも他のアプリケーションに
取られていると不足しがちです。
それと、プライベート・カラーセルにするのは簡単です。た
だ、プライベート・カラーセルにすると、マウスポインタが
Ngraphから外れた時に見苦しいので、それを嫌って使ってい
ませんでした。ですが、コンパイルオプションに加えておき
たいと思います。
watanabeさん、こんばんは。
>gra2psあるいはgra2winでディフォルトのグラフサイズにあった>画像変換がこれほど有効だとは思いませんでした.Ngraphの設>計思想はすばらしいですね.
いえ、EPSF(カプセル化されたポストスクリプト)出力は、そう
するのが普通です。何故かプリンタドライバの EPSF 出力は
用紙全体を bounding box としてしまうのですが。。。
> > Adobeの PostScriptドライバも、二重打ちしているようです
> > けど。。。その方が良いですかね?
> もし,可能ならば,そのようにリクエストしたいのですが...
gra2ps も、unix版の画面表示も含めて、bold, italic 対応が
できましたので、次期バージョンでは Symbol, Mincho,
Gothic など全てのフォントで、Bold,Italic, BoldItalic が
デフォルトで使えるようになります。
こんにちは。Ngraph-6.3.14のリリースありがとうございます。
改良して頂いた点は、
快調!に動作していて感謝しています。
Sparc Solarisで試したのでいくつか報告します。
[1]
Sparc Solaris 8 + gcc version 2.95.3 20010315
の組み合わせでコンパイルした。
gccのオプションで以前と同じように-munaligned-doublesを指定して
コンパイルしたら、
コンパイルは通るが、
ngraphを起動しようとするとBus errorで落ちてしまう(なぜだー)。
以前、この掲示板で拝見したように、
src/object.cのoffsetの値を8で割り切れるように変更したところ、
動作するようになった。
[2]
[1]の状態で、Solaris 8の中にあるDtWidgetを使用して
コンパイルしたものは、
ComboBoxのウィジェットをいじっているときに落ちやすい。
ComboBox.cのソースをコンパイルして使用すると
落ちにくくなるが、以前と比べてよく固まる。
仕方がないので、
Sparc Solaris 2.6 + gcc version 2.95.3 20010315 + ComboBox.cソース
の組み合わせ(以前と同じ)に戻してコンパイルし、
Solaris 8のマシーンに持ってきて使用すると、
以前と同じ安定度で動作(まだときどき固まるけど)。(なぜだー)
現在はこれを使っている。
[3]
[2]の状態で使用していると、
以前に比べてカラーマップの不足が起きやすい。
ngraphを二つ起動し色の指定のウィンドウをいじった程度で、
グラフ上では色は基本の8色しか使っていないのに
Cannot allocate colormap entry for "#FFFFCC"
が出てしまう。
fvwmを使用しているが、
他には、色のリソースを大食いしているソフトは無いと思う(たぶん)。
[1]は、私は解決しましたが、
もし可能なら、オプションでスイッチできるようにソース上で
用意して頂けるとありがたいんじゃないかなーと思います。
[3]は、おそらくx11の制限と関係しているかと思いますが、
ユーザー側で対応できる手だてがあれば、
ご教授頂きたいと思います。
どうかよろしくお願いします。
isizakaさん
お返事ありがとうございます.
Symbolの斜体があって太字がないのはそういう理由だったのですね.
よくわかりました.
試しに,AdobeのPostScriptドライバでファイル出力し,見てみると太字のSymbolも出力されていました.が,その後のトリミング(クロップの方が適切でしょうか)作業等を考えると,gra2psあるいはgra2winでディフォルトのグラフサイズにあった画像変換がこれほど有効だとは思いませんでした.Ngraphの設計思想はすばらしいですね.
Symbolの太字を使わなければいいのでしょうが,グラフ中のフォントにHelveticaを使用すると,通常のSymbolのままでは極めて貧弱で,バランスが上手くとれません(あくまでも個人的主観ですが).
> Adobeの PostScriptドライバも、二重打ちしているようです
> けど。。。その方が良いですかね?
もし,可能ならば,そのようにリクエストしたいのですが....
Symbol太字の使用頻度は,比較的高いと思います.
ご検討頂けますでしょうか.
watanabeさん、こんばんは。
> Symbolの太字書体を独自に登録しているのですが,EPSへ変換すると,Symbol太字のみが消えてしまいます.
[設定]-[フォント]メニューで、独自に追加したフォントは
gra2ps には反映されません。画面表示、クリップボード、
印刷に限られます。独自フォントを使ってPostScript出力を
得たい場合には、申し訳ありませんが Windows付属の
PostScriptドライバや、Adobeが出している PostScript ドラ
イバ等で「ファイルへ出力」で作成してください。
この辺りの事情を説明しますと。。。
gra2ps.exe は、「コンパクトで汎用性の高いPostScript出力
を得る」というのがコンセプトでして、利用するフォントは
PostScript標準のフォントに限っています。gra2ps.exe で
利用するフォントは Ngraph.ini の [gra2ps]セクションの
font_map=xxxx で定義されていますので、ここにフォントを
記述すれば良いのですが、Symbol の Bold体はPostScriptの
標準的なフォントではありませんので、指定しようがありま
せん。
唯一例外なのは Symbol のItalic体で、これもPostScriptの
標準フォントにはありませんが、この場合はgra2ps.exe の中
で Symbol を傾けて出力するようなコードを生成しています。
もし Symbol の Bold体にも対応するとなると、やはり
gra2ps.exe の中で例外的に「二重打ち」をするような事にな
ります。
Adobeの PostScriptドライバも、二重打ちしているようです
けど。。。その方が良いですかね?
BBS初めて参加させていただきます.
Windows2000環境で,Ngraph6.03.14を使っております.
gra2psによる画像変換で,描画したグラフをEPS形式へ変換する際に,不具合がありました.
Symbolの太字書体を独自に登録しているのですが,EPSへ変換すると,Symbol太字のみが消えてしまいます.これを,通常のSymbolや登録されているSymI(斜体)では,同一のフォントをベースとしているにもかかわらず,きちんと変換されています.Ngraph上では,きちんと表示されますし,メタファイルに落としても全く問題ありませんので,フォントの登録自体が間違っているようには思えません.
何か対処法がありますでしょうか?
最終的にはMac上で処理しなければならないため,メタファイルによる出力では,ほとんど使えません.同様の問題は,NT上でのNgraph6.03.13でも確認できました.なお,gra2psは,どちらの環境でもned6313.zipに入っているプログラムを使用しています.
以上,よろしくお願いいたします.
PS.: Ngraphを使いはじめてから,12年近くになります.すばらしいソフトウエア,ありがとうございます.
Diffusional Mind さん、こんばんは。
>Kondara MNU Linux 2.0 でプルダウンメニューの全ての項目が"button0","button1"
> などに化けてしまいます。
これは、リソースファイル `Ngraph' が見つからないためです。
リソースファイルの検索順はX11に従いますが、`ngraph.sh'
では XFILESEARCHPATH を設定するようにしています。
ngraph.sh の XFILESEARCHPATH に `Ngraph' あるいは
`ja/Ngraph' が存在しているディレクトリを指定して、
ngraph.sh から ngraph を起動するようにしてください。
また、デフォルトの配布状態のままインストールした場合、
/usr/local/lib/Ngraph/ngraph.sh ==> /usr/local/bin/ngraph
とスタティックリンクが張られ、コマンド ngraph で ngraph.sh
が起動され、そこから更にバイナリの ngraph が実行されるよう
になっています。
> また、その状態で何とかデータをプロットしても、目盛の数字
> 表示されません。
これは独自の初期化ファイル Ngraph.ini が見つからない為で
す。Ngraph.ini の検索順は
/usr/local/lib/Ngraph
環境変数 NGRAPHLIB
環境変数 HOME
になっています。
Kondara MNU Linux 2.0 でプルダウンメニューの全ての項目が"button0","button1"
などに化けてしまいます。
また、その状態で何とかデータをプロットしても、目盛の数字
表示されません。
tanakaさん、こんにちは。
ちょっと出かけていましたので、返信が遅くなりました。
> markだけのデータをmark+lineにするとか、をはじめ、
> 結構頻度が高いし、
なるほど、確かにそう言われると、最後に追加するよりも、
直後に追加する方が、頻度が高いような気がします。と言う
事で、機能追加したいと思います。どうもありがとうござい
ました。
こんにちは。いつもお世話になりっぱなしです。
> 私も結構順番を変えたりしますが、ポップアップメニューでは
> なくて、SHIFTキー + カーソルを使っているので、そんなに苦
> にならないのですが(押しっぱなしで一気に動かせるので)、如
> 何でしょうか?
私は、ホームポジションから手を離したくないので、
ソースに手を入れて
"↑(カーソル移動)"を"p", "↓"を"n"に割り当てて使っています。
すると"UP(ファイル移動)"は"shift p", "DOWN"は"shift n"で動いてくれています。
大量の場合には、*.ngpファイルをmuleで直接編集する
実力行使に出たこともありました。
> それでも不便と言う事でしたら、
markだけのデータをmark+lineにするとか、をはじめ、
結構頻度が高いし、
多数の人が恩恵を受けられると思うので、
ご検討頂けたら幸いです。
tanakaさん、こんばんは。
早速どうもありがとうございます。
> [1] データの参照
> 例えば、%Dmmnnll という感じだとか。
いやぁ〜、これは難易度が高いですね。おいおい考えたい
と思います。
> [2] データファイルの複製
> 現在は、DuplicateしたあとでUpを繰り返して
> 所望のところに動かしていますが、
私も結構順番を変えたりしますが、ポップアップメニューでは
なくて、SHIFTキー + カーソルを使っているので、そんなに苦
にならないのですが(押しっぱなしで一気に動かせるので)、如
何でしょうか?それでも不便と言う事でしたら、考えてみます。
いつもありがとうございます。
Ngraph for X11 version 6.03.13 を Sun Solaris 8 for sparcで
使っています。ほとんど毎日お世話になっています。
> (ただし比較的すぐにできる変更で^^;)
またまたですが、
二つばかり要望があります。
難易度はどうか私には分かりませんし、
ないとどうしようもないという性質のものでもないので、
思いついたアイディアを検討してもらえたらうれしい、
という意味に軽く受け取ってください。
[1] データの参照
数式変換で、他のファイルやカラムのデータの参照を参照する場合、
現在、%nn の形式と %Fmmnn の形式が用意されているようですが、
さらに、ファイル番号mm番のnnカラム目のll行目を参照する指定が
できたらいいな、と思っています。
例えば、%Dmmnnll という感じだとか。
これが出来ると、nnカラム目のll行目の値を使って正規化するのに、
Y/%Dmmnnll
という感じで出来るのに対し、
現在は数値を直接打ち込んで、
Y/1.23E-07
という感じのことを手作業でやっています。
[2] データファイルの複製
現在、"Data Window"でDuplicateを行うと、
複製されたファイルはデータファイルの列の最後に追加されます。
ここで、
データファイルの列の位置関係のなかで、
複製されたファイルが複製元のファイルの直後に挿入できてほしいな、
と思うことが時々あります。
"Duplicate and Insert"といえばいいのでしょうか。
現在は、DuplicateしたあとでUpを繰り返して
所望のところに動かしていますが、
ファイルの数が20以上にもなってくると少々大変になってくるもので。
どうかよろしくご検討下さい。
大分、ご要望やバグフィックスが溜まりましたので、
近いうちにバージョンアップしようかと思います。もし、
是非とも次のバージョンで、と言うご要望がありました
らお願いします。(ただし比較的すぐにできる変更で^^;)
今のところ、変更点は、
・矢印形状指定方法の変更。
・「ファイルを開くコモンダイアログボックス」で
Windows 98, 2000 の新機能に対応。
・グラフの読み込みオプションのデフォルト値変更
機能追加。
・バージョンアップ・インストールの際には、登録
番号を再入力しないで済むように変更。※ただし、
この機能が有効になるのは、このバージョンアッ
プの次のバージョンアップからになります。
・ロググラフで、データが負の場合には asb() をと
るように変更。
・描画時の変換数式エラーにおけるエラーメッセージ
の変更。
・「子ウィンドウの自動移動」に関するバグ修正。
・クリップボードに関するバグ回避修正。
・スクリプトのfor文中等で << が使えなかったバグの
修正。
です。ご要望等を下さった皆さん、どうもありがとうござ
いました。
また、Windows 2000 での 10Hエラーの件ですが、どうし
ても再現しませんでした。
Windows 2000, Windows 2000 + SP1, Windows 2000 + SP2
いずれもです。ただし、再現はしなかったのですがgra2win
に関しては一箇所バグがありましたので、直っているかも知
れません。クリップボードの方は?なのですが、ダイアログ
表示前に行っていた計算を、ダイアログボックス表示後に変
更しましたので(もし、何かのタイミングで落ちていたとす
れば)、直っているかも知れません。
> ん〜、Ngraphの場合も、負の場合でも警告を出してグラフは
> 作成しますよね。負の値は無視されますが。。。
済みません。ワーニングでした。勘違いです。
> 心配していましたのは、「グラフが問題無く作成されていた
> ので、負のデータだったのに気づかかないまま、(例えば論文
> に)発表してしまった!!!」と言うような事態だったのです
> が、よく考えたら、現在のように警告を出しておけば、abs()
> をとっても問題無いような気になってきました。
いつも私のわがままを聞いていただいて済みません。
「負のデータをわざわざabsまでとってグラフに描くなんて
余計なお世話で、捨ててくれた方がありがたい。」という人も
いるかもしれない、ということまで考えていませんでした。
「もし実現するなら
log軸のほかにlogabs軸を用意する方法かな」と
勝手に思っていたもので……
私の同業者は大抵喜ぶと思います。
今後ともどうかよろしくお願いします。
tanakaさん、こんばんは。
> むしろ、負の数値で対数軸即エラー、という方に
> 違和感があったりします。
ん〜、Ngraphの場合も、負の場合でも警告を出してグラフは
作成しますよね。負の値は無視されますが。。。
心配していましたのは、「グラフが問題無く作成されていた
ので、負のデータだったのに気づかかないまま、(例えば論文
に)発表してしまった!!!」と言うような事態だったのです
が、よく考えたら、現在のように警告を出しておけば、abs()
をとっても問題無いような気になってきました。
と言う訳で、abs() をとるようにしたいと思います。ただし、
警告が出ます。この警告がうっとうしい場合は、
> 気が向いたら、log(abs(x))のプライベートパッチに
> 挑戦して解決することにします。
で対処をお願いします。ofile.c の error(obj,ERRNEGATIVE)
をコメントアウト(2個所)すればOKです。
早速の対応ありがとうございます。
時期ヴァージョンのリリースを楽しみに待ちます。
log(abs(x))ですが、
> 確かに便利なのかも知れませんが、あまり勝手にデータを変更
> しないようにと思っていますので。。。
そうですねえ。
言い訳をしておきますと、
私は、半導体関係なので、
不純物濃度も電流も極性が逆になればすぐ負になるし、
正の値も負の値も対等に扱った方が楽だし、
log(abs(x))を使うのはすごく自然で日常茶飯事なんです。
特別「データを変更している」という感覚はないんです。
我々の業界の人が作ったグラフソフトには、log(abs(x))の軸で
描けるものがいくつかあります。
むしろ、負の数値で対数軸即エラー、という方に
違和感があったりします。
しかし、エクセルや、軸の種類がやたらに多いカレイダでも
ないようなので、一般的ではない、ということかもしれません。
また、Ngraphの設計思想からすれば、
数式変換やシェル機能を利用するのが筋なのでしょう。
当面、数式変換の利用を続け、
気が向いたら、log(abs(x))のプライベートパッチに
挑戦して解決することにします。
今後ともどうかよろしくお願いします。
Windows 2000 の拡張メタファイルの件、
>Ngraph から拡張メタファイルでコピーして、PowerPoint に
>貼りつける作業をやってもらったところ、同様にグラフの
>下側と右側が切れて表示されます。
ですが、現象を確認しました。Windows 2000 の場合には、
Ngraph側で bounding box は明示せずに、システム側で計
算させるように変更して回避するようにします。
Windows 98でシステム側に計算させると、今度はこっちが
切れてしまいますので、バージョンによって動作を変える
事にしました。
#ん〜、何でだろう。。。
tanakaさん、こんにちは。
> [2] エラー出力
についてですが、確かにそうですね。ファイル番号も表示する
ように変更しました。ただ、
> math_x,math_y,f,g,hのどれでエラーが出たかが分かると、
> もっとうれしいのですが。
については、エラーのチェックは (X,Y) のデータになった時点
で行っていますので、f(), g(), h() のエラーを出力するのは
難しいです。x なのか、y なのかの表示は行うようにします。
> [1] log(abs(y))
確かに便利なのかも知れませんが、あまり勝手にデータを変更
しないようにと思っていますので。。。
> [3] 質問: 指数表記位置
この位置は自動的に決められていますので調整はできません。
指数表記は「とにかくデータを見たい」と言った場合を目的
としていまして、グラフの清書段階では数式変換などを使っ
て、[x10^5]でしたら X/1E5 とでもして、Xを規格化してグラ
フを作成してください。
いつも本当にお世話になっております。
要望と質問かあります。
Ngraph for X11 version 6.03.13 を Sun Solaris 8 for sparcで
使っています。
[1] log(abs(y))
対数軸で、log(abs(y))の形で出力したいことが私の場合よくあります。
現在、数式変換機能で、
math_y='(IF(NEQ(Y,0),ABS(Y),BREAK)'
として描いています。
現状でも描くことは可能なので不自由ではないのですが、
軸の形式の選択(linearとかlogとかinverseとかを選択するところ)で
出来るようになれば便利になると思います。
[2] エラー出力
数式変換やファイル名を書き換えた後
drawボタンで描こうとするとき、
数式変換やファイル名を書き間違えているとエラー表示が出ますが、
このとき、ファイルの番号も
いっしょに表示してもらえないでしょうか。
どこを書き間違えたのか、探すのに手間取ることがあるので。
出来れば、数式変換のエラーでは、
math_x,math_y,f,g,hのどれでエラーが出たかが分かると、
もっとうれしいのですが。
ご検討いただければ幸いです。
[3] 質問: 指数表記位置
指数のグラフ上の表記( [x10^5] のような )の位置を
好きな位置に調整することは出来ますか?
マニュアルなどを探しても分からなかったので。
お忙しいところたいへん恐縮ですが、
どうかよろしくお願いします。
iwasakiさん、こんばんは。
> 貼りつける作業をやってもらったところ、同様にグラフの
> 下側と右側が切れて表示されます。
ちょっと調べてみますが、Windows 9x、Windows NT で
できて Windows 2000 で出来ないとは。。。しかし、これっ
て、冷静に判断してWindows 2000 のバグと言うのではない
かと思うのですが(そんな事を言っても仕方がないのですが)。
>また、この現象は貼り付け先が PowerPoint でなくても
>再現します。
Microsoft系のソフトだけではないかと、うがった見方をした
くなります。
とにかく調べますので、しばらくお待ち下さい。ご報告、
感謝致します。
とりあえず、Windows 2000 を使っている知り合いに
Ngraph から拡張メタファイルでコピーして、PowerPoint に
貼りつける作業をやってもらったところ、同様にグラフの
下側と右側が切れて表示されます。
また、この現象は貼り付け先が PowerPoint でなくても
再現します。
結局、Windows 2000 固有の問題のような気がします。
もちろん、確認できたのは 2 例だけなのですが。
もし、何か対応策があれば、お願いします。
詳細な説明を有り難うございます。
文字化けの理由については理解しました。
残念ながら、発表当日は時間がなく Windows のバージョンは
確認できませんでした。また、作成した PowerPoint に、
拡張メタファイルかメタファイルのどちらかで貼り付けたの
かも記憶がありません。
# PowerPoint 中にある図がメタファイルか拡張メタファイルの
# どちらなのか判別する方法なんてあったりするのでしょうか。
ところで、試しに Ngraph から拡張メタファイルでコピーして
PowerPoint に貼り付ける作業をしてみたところ、
グラフの底部と右側がクリッピングされた状態になって全部を
表示してくれません...。メタファイルなら正常に表示されます。
# ということで、手持ちの PowerPoint はメタファイルで
# コピーしたようです。
Ngraph for Windows Ver 6.03.13 と Windows 2000
ServicePack 1 という構成です。残念ながら今日は周りに
Windows 2000 を使っている人間がいないので、
私のコンピュータがおかしいのか、Windows 2000 固有の
問題なのか判断できません...。とりあえず、月曜日にでも
確認します。
なお、Windows Me なら拡張メタファイルでも正常に
表示されます。
もう一つ補足です。
Windows NT や Windows 2000 などの unicode 完全対応の
OSでしたら、クリップボードにコピーする際に「拡張メタ
ファイル」形式を選んでください。この様にすれば、コピー
した時点で OS側で unicode に自動変換されますので、張
り付けた PowerPoint、プレゼンで使った PowerPoint が
unicode に完全対応していれば、文字化けは起こらないと
思います。
クリップボードのコピー形式は、現在は「メタファイル」が
デフォルトになっていますが、「拡張メタファイル」を
デフォルトに変更します。
下の補足です。
一応、0x96 <---> 0x2D の変換を禁止するオプションも追加
しておきます。
具体的には、Ngraph.ini の [winmenu] セクションで
minus_hyphen=0 とすれば、変換をしないようにします。
[gra2win]セクションも同様です。
iwasakiさん、こんばんは。
レスの順番が前後しますが、
> 個人的には、以前 [122] 周辺で議論されているハイフンと
> マイナスの違いが影響しているのではないかと推測しています
以前の問題は PostScript での問題であって、原因は全く異な
ります。PostScriptのフォント回りの実装は、さすがにしっか
りしています。問題が起きたのは、私のコーディングがタコだ
ったからです。
ご質問の内容は Windows固有の問題です。「ハイフンとマイナ
スの問題」という広い意味では同じですが。。。
現在のバージョンの Ngraph には encoding.ngp が付属してい
ます。これを読み込むとフォントを聞いてきますから、
Helveticaとでも入れて Draw してください。Helveticaフォン
トのコーディングが表示されます。しかし、このコーディング
は Windows 本来のコーディングではありません。理由は、
'-' (0x2D) がハイフンになっており、グラフを作成する上で
は非常に都合が悪いからです。都合の良い事に 0x96には
「minus」に近い 「endash」 (Nの幅の横棒)が割り当てられて
います。そこで、Ngraph の内部で 0x96 <---> 0x2D の変換を
してあります。それ以外は全く同じです。
さて、ご存知かも知れませんが、Windows 9xカーネルでは漢字
などを表現する為に DBCS (2バイトキャラクタセット)と、SBCS
(1バイトキャラクタセット)が混在した文字列を扱います。
漢字のSHIFTコードでは第一バイトが 0x81 から 0x9F までの
場合、次ぎの1文字と合わせて漢字コードとしています。'-'
と入れ替えた0x96 はこの範囲内にあります。韓国でも同様で
あろうと推測されます。
で、ご指摘の問題を整理してみます。
(1) 日本語版 Windows(英語版 Windowsも同じ)
フォントとして Helvetica (ANSIキャラクタセットです)
を選択し、'-' を出力しようとした。Ngraph内部で 0x96
に変換されて TextOut 関数が呼び出さる。0x96はSHIFT
コードの位置に有るが、選択されたフォントが ANSI
キャラクタセットであり、SHIFTJISキャラクタセットで
はないので、SBCS として解釈し endash を出力した。
(2) 韓国版 Windows
同様に Ngraph内部で 0x96 に変換されて TextOut 関数
が呼び出さる。フォントとして ANSIキャラクタセット
が選択されているのにも係わらず、HANGEULキャラクタセ
ットのDBCSとして解釈し、ハングル文字を出力した。
これは冷静に判断して (2) の実装がタコなだけだと思います。
これら DBCS と SBCS の混在の問題を解決する方法として
Microsoft他が unicode を提唱している訳ですが、Windows 9x
カーネルは一部で unicode をサポートしているだけで、完全
ではありません。
先程、ExtTextOut 関数を ExtTextOutW (unicode用の関数)に
変えて試してみました。画面表示では上手く行きましたが、拡
張メタファイルとしてクリップボードにコピーすると、落ちて
しまいました。9xカーネルは unicode をフルサポートしてい
ませんので、有りうる事だと思います。
結局、9xカーネルでは回避できない事になります。
> また、今後 localization された Windows を使っている国で、
> 同様のことがおきるのではないかと危惧しています。
上にも書いた通り、0x96は日本でも DBCS の位置にあります
が、何の問題も起きていません。従いまして、その国の
Windows の実装が確かなものであれば、問題は起きないと思い
ます。
先日、韓国で行なわれた国際会議で論文を発表する機会が
あったのですが、Ngraph で作成したグラフの中のマイナス(-)
を含む文字が文字化けすることがありました。
具体的には、Windows2000 上の Ngraph for Windows
Ver 6.03.13 を使って作成したグラフをクリップボード経由で
貼り付けた PowerPoint のファイルを持参し、ハングル版
(韓国版?) Windows がインストールされた会場備え付けの
コンピュータにファイルをコピーして発表しました。
スライドは全て英語で、グラフ中に 2 Byte 文字は使用していません。
しかし、グラフ中のマイナスを含む文字列が文字化け、
例えば、マイナスとその次の文字が、一文字の
ハングル文字に変化するといったことが発生しました。
軸の数字、レジェンドのテキスト両方でです。
レジェンド中の マイナスは使わないように努力することも
出来なくはないのですが、軸の数値はどうしようもありません。
また、今後 localization された Windows を使っている国で、
同様のことがおきるのではないかと危惧しています。
個人的には、以前 [122] 周辺で議論されているハイフンと
マイナスの違いが影響しているのではないかと推測していますが、
何か対策はありませんでしょうか?
はじめまして.
魔法リサーチ(株)では今年の後半期の経済状況をどう展望されているかネチズンを対象にしてアンケートを実施することしなりました。不確実な景気動向の中,非難と楽観が混在されているだけ、ネチズンの応答を通じて実質的な経済状況の分析と結果をリアルタイムでご覧になれます。
多くの参加とよい意見をお願い申し上げます。
どうもありがとうございました。
主管 :魔法リサーチ(株)
設問期間:2001年6月8日〜6月11日(4日間)
参与する: http://jpn.mabub.com:8080/rsecnm/jp/research.jsp?ct=23-10-23-149455-2-2-2
..http://jpn.mabub.com:8080/rsecnm/jp/research.jsp?ct=23-10-23-149455-2-2-2
youyaさん、こんばんは。
> 今、ngraphで課題をしているのですが、その中で極座標を使わなければならないものがあるんです。だけどどうにもできなくて。
Ngraphで作成できるグラフの種類に「極座標グラフ」そのもの
は無いのですが、数式変換を使いX-Yグラフ(交差グラフあるい
はフレームグラフ)として作成します。
データファイルの形式が分かりませんが、極座標グラフと言う
ことですから、データファイルの各行は
角度(θ) 動径(r)
と、カラム1 は角度、カラム2は動径といった形式だとします。
これを X-Y 座標に直せば良い訳ですから、「データダイアロ
グボックス」の「数式変換」で
「(X)カラム変換数式」には %02*COS(%01)
「(Y)カラム変換数式」には %02*SIN(%01)
とすれば良いです(ただし、θはラジアン単位)。データファイル
が「度」で出来ているのでしたら、
「(X)カラム変換数式」には %02*COS(%01*PI/180)
「(Y)カラム変換数式」には %02*SIN(%01*PI/180)
として下さい。
はじめまして、youyaといいます。
いきなりですけどお聞きしたことがあります。
今、ngraphで課題をしているのですが、その中で極座標を使わなければならないものがあるんです。だけどどうにもできなくて。
どうすればいいのかよろしければ教えていただきたいのですが・・・
このままじゃー課題がーーー(ToT)
isizakaさま こんにちわ
> fontmapというファイルは存在しなかったのですが、
> fontdir (fontsdirかな?) の間違いでした。
fonts.dirでした。
> の X の部分だけは * のままにしてください。ここは Ngraph
> 内部で、* がフォントの大きさに変更されます。
いろいろやってみましたが、なにを指定してもだめでした。
一応Kondara projectにバグレポートを送ってみました。
丁寧な応対をありがとうございました。
nsさん、こんばんは。
> fontmapというファイルは存在しなかったのですが、
fontdir (fontsdirかな?) の間違いでした。
> 今のところの不都合はSymbolが
> -*-symbol-*-*-*--*-*-*-*-*-*-*-*
> でも表示できないというこのだけです。
すみません。私には原因が分かりません。他のフォントが表示
できたのでしたら、同じようにして表示できるようになると思
います。もしかすると -*- が多過ぎるのも問題かも知れませ
ん。その場合には、fontdir (fontsdir?) の内容と比べて、可
能な限り同じにしてください。ただし、
-*-symbol-*-*-*--X-X-*-*-*-*-*-*
の X の部分だけは * のままにしてください。ここは Ngraph
内部で、* がフォントの大きさに変更されます。
> 他が正常に動いているとのことであれば、フォントが見つから
> ないだけだと思います。使われるフォントは Ngraph.ini の
> [x11menu]セクションの font_map= で指定します。
> /usr/X11R6/lib/X11/fonts/*/fontmap の内容を見て、使える
> フォントを指定してください。
ishizakaさん、返答ありがとうございます。
fontmapというファイルは存在しなかったのですが、
fontの指定をいじってみました。
たとえばHelveticaでは
-*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*
の指定で表示できました。
xfontselではdefaultで指定されたfontは存在するはずなんですが、
やはり表示されません。
日本語も
-*-mincho-medium-r-normal--*-*-*-*-c-*jisx0208.1983-*
という指定で表示できました。
今のところの不都合はSymbolが
-*-symbol-*-*-*--*-*-*-*-*-*-*-*
でも表示できないというこのだけです。
xfontselでは存在するのですが...
表示できるfontと表示できないfontがあるようなのですが、
その条件はまだよくわかりません。
xfsは使っても使わなくてもだめです。
XFreer86-4.0が悪いのでしょうか?
とりあえず、実用上問題無いところまできました。
ありがとうございました。
nsさん、こんばんは。
他が正常に動いているとのことであれば、フォントが見つから
ないだけだと思います。使われるフォントは Ngraph.ini の
[x11menu]セクションの font_map= で指定します。
/usr/X11R6/lib/X11/fonts/*/fontmap の内容を見て、使える
フォントを指定してください。
#とは言っても、デフォルトでは標準的なフォントを指定して
#いるだけなのですが…。
すみません、これ以上は分かりません。
Kondara を良く知らないのですが、フォントサーバを使ってい
るとか?
Ngraph for unixをいつも便利に使わせていただいています。
Freeなので大変ありがたいのです。
Kondara Mary-beta4上にNgraphのbinaryを使おうとしたのですが、
グラフ上にテキストを入力してもまったく表示されません。
ほかの図形等は正常で、文字のみどのフォントを指定しても駄目なようです。
(ダイアログ等は正常に表示されています。)
なぜかXvnc + vncviewer上では問題ないので、
おそらくフォントの問題だと思うのですが、
こうしたら良いと言う点はないでしょうか。よろしくおねがいします。
環境
Kondara Mary-beta4
Linux version 2.4.3-10ksmp
XFree86 4.0.3
glibc 2.2.2
(beta版のdistributionなんか使っているからだと言われると
その通りなんですが ... 汗;)