我想绘制几个点,以及连接一些点的线条。所以我这样编程:
<bean class="PayloadValidatingInterceptor" >
<property name="schemas">
<array>
<value>/WEB-INF/1.xsd</value>
<value>/WEB-INF/2.xsd</value>
</array>
</property>
<property name="addValidationErrorDetail" value="false"/>
<property name="validateRequest" value="true"/>
<property name="validateResponse" value="false"/>
</bean>
结果图片如下: 难以置信,对不起,我无法发布图片,但如果您使用样本数据运行我的程序,您将很容易得到我的照片。
样本输入文件:
prompt = 'Please enter the file name: ';
FileName = input(prompt, 's');
SaturationFile=fopen(FileName);
PoreCount =fscanf(SaturationFile, '%d\n', 1);
ThroatCount=fscanf(SaturationFile, '%d\n', 1);
PI=fscanf(SaturationFile, '%d\n', PoreCount);
PX=fscanf(SaturationFile, '%f\n', PoreCount);
PY=fscanf(SaturationFile, '%f\n', PoreCount);
PS=fscanf(SaturationFile, '%d\n', PoreCount);
TI=fscanf(SaturationFile, '%d\n', ThroatCount);
TB=fscanf(SaturationFile, '%d\n', ThroatCount);
TE=fscanf(SaturationFile, '%d\n', ThroatCount);
TA=fscanf(SaturationFile, '%f\n', ThroatCount);
TL=fscanf(SaturationFile, '%f\n', ThroatCount);
TS=fscanf(SaturationFile, '%d\n', ThroatCount);
TB=TB+1;
TE=TE+1;
MaxA=0;
for i=1:ThroatCount
if TA(i)>MaxA
MaxA=TA(i);
end
end
scale=10;
PX =PX *scale;
PY =PY *scale;
TA =TA *scale;
MaxA=MaxA*scale;
for i=1:ThroatCount
if TS(i)==0
c='cyan';
else
c='black';
end
plot([PX(TB(i)) PX(TE(i))], [PY(TB(i)) PY(TE(i))], 'Color', c, 'LineWidth', TA(i));
end
for i=1:PoreCount
if PS(i)==0
c='cyan';
else
c='black';
end
rectangle('Position', [(PX(i)-0.5*MaxA) (PY(i)-0.5*MaxA) MaxA MaxA], 'FaceColor', c, 'EdgeColor', c, 'Curvature', [1 1]);
end
问题1: 根据定义,点之间应该有10条线,但为什么那里只有1条线?
问题2: 看起来这些点是按比例放大的,但线条仍然是那条细线,为什么?
谢谢!请帮帮我,长时间陷入困境。
答案 0 :(得分:0)
你必须在开始绘图之前(在ThroatCount循环之前)放置figure, hold
。