RT,比如说用连线指示来标志,或者直接在饼图相应部位标志
这是我的代码,已完成圆饼绘制
请教高人指教 for (int i = 0; i < arrValues.Length; i++) //绘制柱状图

objGraphics.FillRectangle(new SolidBrush(GetColor(i)), (i * 35) + 15, 400 - arrValues[i]*5, 25, 
arrValues[i]*5); 
objGraphics.DrawRectangle(Pens.Black, (i * 35) + 15, 400 - arrValues[i]*5, 25, arrValues[i]*5);
objGraphics.DrawString(arrValueNames[i].ToString() + "["+ arrValues[i].ToString()+"]", new Font("黑体", 15), Brushes.Black,(i * 35) + 15,170 - arrValues[i], drawFormat);


objGraphics.FillRectangle(new SolidBrush(GetColor(6)), (6 * 35) + 15, 400 - total*5, 25, 
total*5); 
objGraphics.DrawRectangle(Pens.Black, (6 * 35) + 15, 400 - total*5, 25, total*5);
objGraphics.DrawString("考试总人数" + "["+ total+"]", new Font("黑体", 15), Brushes.Black,(6 * 35) + 15,170 - total, drawFormat);       
float sglCurrentAngle = 0; 
float sglTotalAngle = 0; 
float sglTotalValues = 0; 
for (int i = 0; i <= arrValues.Length - 1; i++) 

sglTotalValues += arrValues[i]; 

             
for (int i = 0; i < arrValues.Length; i++)//绘制立体饼图阴影部分
{
sglCurrentAngle = arrValues[i] / sglTotalValues * 360; 
for(int j = 0; j < 20; j++)
{
objGraphics.FillPie(new HatchBrush(HatchStyle.Percent60,GetColor(i)),350, 190 + j, 200, 55,sglTotalAngle, sglCurrentAngle);
//objGraphics.DrawLine(Pens.Black,new Point(100,300),new Point(360,190));//绘制连线
//objGraphics.DrawLine(Pens.Black,new Point(350,190),new Point(350,190+j));
}
sglTotalAngle += sglCurrentAngle;
}
            
sglCurrentAngle = 0; 
sglTotalAngle = 0; 
sglTotalValues = 0; 
for (int i = 0; i <= arrValues.Length - 1; i++) 

sglTotalValues += arrValues[i]; 
}  for (int i = 0; i < arrValues.Length; i++) //绘制数据饼状图

sglCurrentAngle = arrValues[i] / sglTotalValues * 360; 
objGraphics.FillPie(new SolidBrush(GetColor(i)), 350, 190, 200, 55, sglTotalAngle, sglCurrentAngle); 
objGraphics.DrawPie(Pens.Black, 350, 190, 200, 55, sglTotalAngle, sglCurrentAngle); 
sglTotalAngle += sglCurrentAngle; 

objBitMap.Save(Response.OutputStream, ImageFormat.Gif);  }

解决方案 »

  1.   

    没有直接做过,都是用控件,比如owc,百分比是自动算出来的
      

  2.   

    http://www.wave12.com/web/SigCon.asp?bCate=41&sCateName=饼状图&ID=150&CateName=wsChart4.6(DLL)
      

  3.   

    mingwj1980() 
    使用第三方空间客户端还得下载  很不方便huahua()
    还是没看出怎么绘制比例的?
      

  4.   

    建议使用webchat控件,很好用
      

  5.   

    用GDI+画这个很简单呀其实就是要会计算而已,先算每个扇形的角度,然后记录相应扇形的角度位置,然后取一半再画线这么说吧:
    统计比例:A/B/C销售量
    A 100 B 200 C 300那么A 占(100/(100+200+300))*360,B和C的计算一样然后先画A么,那么A是0度到(100/(100+200+300))*360
    B是(100/(100+200+300))*360 到 (100/(100+200+300))*360 + (200/(100+200+300))*360
    然后用个HASHTABLE之类的东西记录一下ABC对应的角度位置,再在扇形的角度的一半
    比如说B就是100/(100+200+300))*360 + ((200/(100+200+300))*360)/2
    上画线想怎么画就怎么画,很EASY的原来开发过一整套这种图形库的,不过属于公司......代码不能给,想法还是可以给的哈绝对可以画出来的