如何为图表自定义标签配置图像

斯塔德利

我想用背景图片替换c#图表上的自定义标签,然后在其上写标签文本。

我尝试使用图像标签的属性和文本,但所做的只是将它们彼此相邻放置。

这可能吗?图表可以通过y坐标吗,所以我也许可以使用绘制函数?

在此处输入图片说明 在此处输入图片说明

谢谢

战车

这是动态创建图表图像的示例。您将需要根据需要使用不同的文本和不同的名称创建尽可能多的它们。

Image img = Image.FromFile(someTemplateImage);

// draw a text into it:
using (Graphics G = Graphics.FromImage(img))
    G.DrawString("Hello", Font, Brushes.Blue, 1, 1);
// add it to the chart images with a name:
chart.Images.Add(new NamedImage("img01", img));

现在,我们可以创建一个显示图像的自定义标签:

Axis ax = chart.ChartAreas[0].AxisX;
CustomLabel cl = new CustomLabel();
cl.FromPosition = chart.Series[0].Points[0].XValue;  // some values, which will place 
cl.ToPosition = chart.Series[0].Points[1].XValue;    // the cl between two points
cl.Text = "";   // no text, please!

cl.Image = "img01";  // this is our NamedImage

ax.CustomLabels.Add(cl);  // now we can add the CL

当然,可以根据字体和匹配度对绘制的字符串进行样式设置。

这仅仅是一个示例单个图像和 cl根据您的需要,您将需要考虑一种命名图像并添加其文本的方案。

您可能需要查看那里的帖子,以查看涉及移动的示例:在这里,我动态地创建了大量标记图像,在这里,markerimages用于创建热图。

这是一个装饰函数,可将模板图像添加到轴上的每个自定义标签上。:

public void AddornCLs(Chart chart, Axis axis, Image template, Font font, Color color)
{
    Rectangle rect = new Rectangle(Point.Empty, template.Size);
    TextFormatFlags format = TextFormatFlags.HorizontalCenter 
                           | TextFormatFlags.VerticalCenter;

    foreach(CustomLabel cl in axis.CustomLabels)
    {
        string text = cl.Text;
        if (text == "") text = cl.Tag.ToString(); else cl.Tag = cl.Text;
        cl.Text = "";
        if (cl.Name == "") cl.Name = axis.CustomLabels.IndexOf(cl).ToString("CL000");
        Image img = (Image)template.Clone();
        using (Graphics G = Graphics.FromImage(img))
            TextRenderer.DrawText(G, text, font, rect, color, format);
        chart.Images.Add(new NamedImage(cl.Name, img));
        cl.Image = cl.Name;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Google图表上设置aria标签的自定义值

如何使用图像和标签制作自定义UIBarButtonItem?

如何为剃刀创建自定义标签助手?

如何在iOS图表中自定义数据点标签?

如何在Donut Morris图表中更改标签颜色(自定义标签颜色)

如何为Plotly boxplot创建自定义hoverinfo标签?

如何为Amazon ECR配置自定义域名

折线图(Google图表)自定义标签

如何为UITextField创建自定义标签而不是标签ID?

如何为ELMAH MongoDB配置自定义集合名称?

MPAndroid图表中的自定义X轴标签

XlsxWriter的图表的自定义数据标签

区域图中的角高图表自定义图例标签

如何为Material UI的页眉,正文和按钮标签设置自定义字体?

如何为图像创建自定义管道?

如何在SVG标签中自定义PNG图像?

Plotly:如何为Plotly 3D Scatter图形创建自定义悬停标签?

在Plotly中为图表注释添加自定义标签

图表自定义问题-如何调整图表值位置

如何在图表中自定义样式数据标签?

如何为{Task}打开的每个标签指定自定义名称?

Kendo Dataviz图表valueAxis自定义标签

如何在vb.net中的图表上的数据点上放置自定义标签?

如何为gvim自定义solarize?

在Rails中,如何为`checkbox`定义自定义表单标签,如`md-checkbox`?

iOS图表自定义标签:气泡图上的整数值

如何为Android项目配置Raven以使其具有自定义标签?

如何为 Facebook 爬虫生成自定义图像?

如何为不同的 xAxis 标签呈现自定义标签颜色?

TOP 榜单

热门标签

归档