C# .NET饼图:如何将文本添加到切片和旋转图表
下面的代码创建了一个24层饼图。我如何:C# .NET饼图:如何将文本添加到切片和旋转图表,c#,graphics,charts,rotation,pie-chart,C#,Graphics,Charts,Rotation,Pie Chart,下面的代码创建了一个24层饼图。我如何: 将文本标签添加到“命运之轮”的每个部分 旋转饼图?我希望它像“命运之轮”一样旋转 private void DrawPieChart() { Graphics g=this.CreateGraphics(); g、 清晰(此为背景色); 矩形rect=新矩形(0,0,300,300); 浮动角度=0; 随机=新随机(); int扇区=24; int扫描=360/扇区; 对于(int i=0;i要添加文本标签,请调用g.DrawString 编辑:若要使文
private void DrawPieChart()
{
Graphics g=this.CreateGraphics();
g、 清晰(此为背景色);
矩形rect=新矩形(0,0,300,300);
浮动角度=0;
随机=新随机();
int扇区=24;
int扫描=360/扇区;
对于(int i=0;i要添加文本标签,请调用g.DrawString
编辑:若要使文本垂直于图像,请将图形对象旋转到角度+扫描/2
,然后绘制文本。若要使文本向下绘制,yopu可能能够以较小的宽度绘制文本,并依赖于字符环绕;如果不起作用,请将其绘制为字符,然后使用g.MeasureString
确定位置放置下一个字符
要旋转整个图表,请在绘制之前以度为单位调用g.RotateTransform
。编辑:如下所示:
private void DrawPieChart()
{
Graphics g = this.CreateGraphics();
g.Clear(this.BackColor);
Rectangle rect = new Rectangle(0, 0, 300, 300);
float angle = 0;
Random random = new Random();
int sectors = 24;
int sweep = 360 / sectors;
g.RotateTransform(90); //Rotates by 90 degrees
for(int i=0; i<24;i++)
{
Color clr = Color.FromArgb(random.Next(0, 255),random.Next(0, 255), random.Next(0, 255));
g.FillPie(new SolidBrush(clr), rect, angle, sweep);
angle += sweep;
}
g.Dispose();
}
private void DrawPieChart()
{
Graphics g=this.CreateGraphics();
g、 清晰(此为背景色);
矩形rect=新矩形(0,0,300,300);
浮动角度=0;
随机=新随机();
int扇区=24;
int扫描=360/扇区;
g、 旋转变换(90);//旋转90度
对于(inti=0;iYou不需要在代码块中转义HTML)。
private void DrawPieChart()
{
Graphics g = this.CreateGraphics();
g.Clear(this.BackColor);
Rectangle rect = new Rectangle(0, 0, 300, 300);
float angle = 0;
Random random = new Random();
int sectors = 24;
int sweep = 360 / sectors;
g.RotateTransform(90); //Rotates by 90 degrees
for(int i=0; i<24;i++)
{
Color clr = Color.FromArgb(random.Next(0, 255),random.Next(0, 255), random.Next(0, 255));
g.FillPie(new SolidBrush(clr), rect, angle, sweep);
angle += sweep;
}
g.Dispose();
}