作业帮 > 综合 > 作业

C# 中怎么将正方向的坐标轴变为两个方向,

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/30 02:16:40
C# 中怎么将正方向的坐标轴变为两个方向,
C# 中怎么将正方向的坐标轴变为两个方向,
就是多花一个箭头吧,
给你段代码看看是否有用
//画X轴和Y轴的基本部分,包括间隔、方向箭头
public void DrawXY(ref Graphics g,Panel picbox,Color color)
{
Pen pen = new Pen(Color.Black ,2);//画笔
SolidBrush sb = new SolidBrush(Color.Green);//画刷
//X轴上的方向箭头,实际上是绘制了一个三角形
Point[] xpts = new Point[3]{
new Point(picbox.Width-35,picbox.Height-32),
new Point(picbox.Width-35,picbox.Height-28),
new Point(picbox.Width-30,picbox.Height-30)
};
g.DrawLine(pen,50,picbox.Height - 30,picbox.Width - 30,picbox.Height - 30);//绘制X坐标轴
g.DrawPolygon(pen,xpts);//绘制X轴的方向箭头
g.DrawString("时间",new Font("宋体",9),sb,picbox.Width - 1,picbox.Height - 1);//标注X轴
//Y轴的箭头,实际上是绘制了一个三角形
Point[] ypts = new Point[3]{
new Point(48,75),
new Point(50,70),
new Point(52,75) };
g.DrawLine(pen,50,picbox.Height - 30,50,70);
g.DrawPolygon(pen,ypts);
//根据颜色绘制X轴标注
//
if (color == System.Drawing.Color.Green )
g.DrawString("单位:人数",new Font("宋体",9),sb,50,50);
if (color==System.Drawing.Color.Red)
g.DrawString("单位:票数",new Font("宋体",9),sb,50,50);
if (color==System.Drawing.Color.Blue)
g.DrawString("单位:人数/票数",new Font("宋体",9),sb,50,50);
//绘制图标
Pen demo_Rect = new Pen(Color.Black,1);
Pen demo_RQ = new Pen(Color.Red ,3);
Pen demo_SLE = new Pen(Color.Green,3);
//g.DrawLine(demo_RQ,picbox.Width/2 - 100,50,picbox.Width/2 - 110,50);
//g.DrawString("人数",new Font("宋体",9),sb,picbox.Width / 2 - 112,50);
//g.DrawRectangle(demo_Rect,picbox.Width / 2 - 20,50,120,20);
g.DrawRectangle(demo_Rect,picbox.Width - 170,50,120,20);
//进站客流
g.DrawLine(demo_RQ,picbox.Width - 160,60,picbox.Width -150 ,60);
g.DrawEllipse(demo_RQ,picbox.Width -150,58,4,4);
g.DrawLine(demo_RQ,picbox.Width-144,60,picbox.Width -136,60);
g.DrawString("人数",new Font("宋体",9),sb,picbox.Width-138 ,55);
//票箱
g.DrawLine(demo_SLE ,picbox.Width -110,60,picbox.Width -100,60);
g.DrawEllipse(demo_SLE,picbox.Width -100,58,4,4);
g.DrawLine(demo_SLE,picbox.Width -100,60,picbox.Width-86,60);
g.DrawString("票数",new Font("宋体",9),sb,picbox.Width -84,55);
}