Plot File Naming Prohibits Periods?
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
In order to save my plot, I have this excerpt of code at the end of my script. Why does this not work? From my debugging, it seems to not like the 4.2f Kn value because of its period. If I manually create str_saveas without the period, it works. Periods are valid filename characters in Windows files though. Why wouldn't Matlab permit this file naming convention? Or perhaps there's another way I should do this?
Kn=0.05;
str_saveas=sprintf('HW_4_PtA_Kn=%4.2f_FirstOrder',Kn);
saveas(figure(1),str_saveas,'fig');
Thanks, M Ridzon
採用された回答
Walter Roberson
2017 年 10 月 31 日
The saveas() code detects the .??_FirstOrder as the file extension so it does not add .fig as an extension. It sees the 'fig' format specification so it passes the file name to saveasfig() which passes it to savefig() . But savefig() expects .fig to be present somewhere in the name.
Would it perhaps be acceptable to use
str_saveas=sprintf('HW_4_PtA_Kn=%4.2f_FirstOrder.fig',Kn);
9 件のコメント
Matthew
2017 年 10 月 31 日
Unless it's documented somewhere, the method I tried appears to uncover a software bug. Hmm. There's no reason to assume a filename cannot have a period, again unless it's documented somewhere in the Matlab Help, which I'm not aware of.
The answer you provided works fine. Thanks!
Walter Roberson
2017 年 10 月 31 日
"If the specified file name does not include a .fig file extension, then MATLAB appends the extension. savefig does not accept other file extensions."
"'fig' — Save the figure as a MATLAB figure file with the .fig extension. "
So it is sort of implied, but Yes, it does contradict the part of the documentation that says that the file extension does not need to match the format.
Walter Roberson
2017 年 10 月 31 日
I submitted a report about the wording needing to be clearer for file extension for fig format.
Matthew
2017 年 10 月 31 日
From what I can tell, the crux of the problem is that you cannot include periods in a filename, or else the script bombs out. I understand that the code may be looking for a certain file extension, but in my mind that's a side issue. Periods are legal filename characters in a Windows system, so to me it would seem legal to use in a Matlab figure name. And to that point, I think the bug needs worked out so periods can be used or the documentation should clearly state "no periods allowed." That's my $0.02. :-)
Walter Roberson
2017 年 11 月 1 日
the code test is specifically about whether.fig appears somewhere in the string, not whether there are extra dots in the name. The test would have passed if the name were abc.fig23.72_xuz. Indeed I think it would have worked if the .fig were in the directory name. The test in savefig is not as robust as it could be.
Les Beckham
2017 年 11 月 1 日
Are you sure it is not the equals sign that is causing the problem? I don't think that is a valid character in a filename.
@Les: I'm sure it is not the equals sign. Such character is valid in Windows filenames. And when I test Walter's initial suggestion, which has an equals sign, it works successfully.
Matthew
2017 年 11 月 1 日
@Walter: Thanks again for the update. Sounds like we have a clear understanding of the issue and hopefully the developers can fix the algorithm to address it.
Walter Roberson
2017 年 11 月 1 日
I think the developers will simply clarify the description of 'fig' format to say more clearly that it requires .fig file extension.
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
