请教如何用TChart画极坐标的图?(急~~~~)

yangbill 2005-04-10 12:25:48
我正在做一个数据处理的程序,
需要利用极坐标画Nyquist图和轴心轨迹图,
请问各位高手怎么样画极坐标的图?
用TChart可以么
谢谢。
...全文
541 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangbill 2005-04-25
  • 打赏
  • 举报
回复
我找到方法了,下载prov7.0版本安装就有polar的曲线,
谢谢各位~~
结贴
yangbill 2005-04-24
  • 打赏
  • 举报
回复
里面的例子我看了,但是没有做极坐标的,因为极坐标的坐标轴是圆形的。
longchaohui 2005-04-21
  • 打赏
  • 举报
回复
建议楼主去看看cb自己带的例子,其实挺简单的
在你安装cb的目录下
C:\Program Files\Borland\CBuilder5\Examples\Teechart
welder 2005-04-20
  • 打赏
  • 举报
回复
这是我以前写的程序,我也是通过网上查资料和自己乱搞搞出来的,看能否为你提供一些信息。

void __fastcall TrptQushi::TreeView1Click(TObject *Sender)
{
AnsiString cSelect;
TTreeNode *TreeNode1;
TTreeNode *TreeNode2;
AnsiString LastStr = "";
AnsiString ProvStr = "";
int i=1;
AnsiString MaxValue = "";
AnsiString MinValue = "";
// 没有选择
if(TreeView1->Selected == NULL) return;
cSelect = TreeView1->Selected->Text;
// 选择没有改变
if(OldSelect==cSelect) return;
OldSelect = cSelect;
// 选择的是第一层
if(TreeView1->Selected->Level==0)
{
if(Chart1->SeriesCount() >0)
Chart1->SeriesList->Clear();

Panel3->Caption = TreeView1->Selected->Text;

TLineSeries *Series1;
Series1=new TLineSeries(Chart1) ;
Series1->ParentChart=Chart1;

//提示说明
Series1->Marks->Visible=true;
Series1->Marks->Style=smsValue;
//显示测试点
Series1->Pointer->Visible = true;
Series1->Pointer->Style = psDiamond;

TreeNode2 = TreeView1->Selected->getFirstChild();
ProvStr = TreeView1->Selected->getFirstChild()->Text;
LastStr = TreeView1->Selected->GetLastChild()->Text;

MaxValue = ProvStr;
MinValue = ProvStr;

Series1->AddXY(1 ,ProvStr.ToDouble());

while(LastStr != TreeNode2->Text)
{
i++;
TreeNode2 = TreeView1->Selected->GetNextChild(TreeNode2);
ProvStr = TreeNode2->Text;
if(ProvStr.ToDouble()>MaxValue.ToDouble()) MaxValue= ProvStr;
if(ProvStr.ToDouble()<MinValue.ToDouble()) MinValue= ProvStr;

Series1->AddXY(i ,ProvStr.ToDouble());
}

Chart1->BottomAxis->Automatic = false;
Chart1->LeftAxis->Automatic = false;
Chart1->LeftAxis->Maximum = 10000;
Chart1->LeftAxis->Minimum = -10000;
Chart1->BottomAxis->Maximum = 10000;
Chart1->BottomAxis->Minimum = -10000;

Chart1->BottomAxis->Maximum = i+1;

Chart1->BottomAxis->Minimum = 0 ;
if(MaxValue.ToDouble()>0)
Chart1->LeftAxis->Maximum = MaxValue.ToDouble() + MaxValue.ToDouble();
else
Chart1->LeftAxis->Maximum = MaxValue.ToDouble() - MaxValue.ToDouble();
if(MinValue.ToDouble()>0)
Chart1->LeftAxis->Minimum = MinValue.ToDouble() - MinValue.ToDouble();
else
Chart1->LeftAxis->Minimum = MinValue.ToDouble() + MinValue.ToDouble();
}
}
yangbill 2005-04-20
  • 打赏
  • 举报
回复
多谢,我仔细看一下。
很急啊,一点思路都没有,
有点眉目偶就结帐了。
yangbill 2005-04-19
  • 打赏
  • 举报
回复
唉,怎么没人帮忙呢
yangbill 2005-04-18
  • 打赏
  • 举报
回复
TeeChart Pro哪里有啊?
请指教~~
icwin 2005-04-17
  • 打赏
  • 举报
回复
帮楼主顶一下!
NetSpider9804040 2005-04-14
  • 打赏
  • 举报
回复
帮楼主顶一下!
lextm 2005-04-14
  • 打赏
  • 举报
回复
你需要用TeeChart Pro才行,Delphi自带的的那个是一个免费版的,功能很有限。
yangbill 2005-04-11
  • 打赏
  • 举报
回复
有人做过类似的么
帮帮我啊

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧