【问题标题】:Winforms pie chart label text truncatedWinforms饼图标签文本被截断
【发布时间】:2020-08-24 07:43:00
【问题描述】:

我使用的是 VS2019 和默认的 Winforms饼图。 图例如附图所示。

我尝试过使用图表大小,我制作的图表越大,图例文本的截断就越少,但它必须很大才能完全适应...

任何想法为什么以及如何更改它,使其永远不会被截断,无论文本长度或图表大小如何?

谢谢

编辑:

查看 LegendTextWrapThresholdIsTextAutoFit 属性,文本仍以图形方式截断,尽管它似乎像指定的那样被“包装”了。这仍然是一个不希望的结果.. 除了放大图表,还有什么其他的解决方案..?

【问题讨论】:

  • 您是否尝试过在 Legends 属性中启用 IsTextAutoFit?此外,您可以通过设置更小的 AutoFitMinFontSize 来使图例的字体更小
  • @FandangoOnCore 我尝试了您建议的两个技巧。 IsTextAutoFit 没有效果。我还尝试添加尽可能小的 AutoFitMinFontSize,即 5,这样可以更好地扩展文本,但仍然会被截断。我需要一种方法来使文本换行,或者让它不被截断。
  • 图例还有另一个有趣的属性,称为 TextWrapThreshold。该文档指出,如果您在描述中放置一个空格并将 TextWrapThreshold 设置为足够小的大小,则文本将在空格字符上换行。 link
  • @FandangoOnCore 谢谢。我添加了另一张关于您的 cmets 的图片。
  • 如果 ChartArea 是手动设置的,您是否设置了 InnerPlotPosition 或 Position 属性,或者它们都设置为 Auto?奇怪,甜甜圈直径应该自动调整大小以显示更多图例文本......无论如何:如果您不介意图表的位置和图例在控制区域中的位置,您可以将 ChartArea 更改为位置 [ 0、0、smaller_width、smaller_height] 将图表移动到区域的左上角并稍微调整它的大小,然后在 Legend 属性上,更改 Position 以将 Legend 移动到甜甜圈下方并将宽度设置为 100(最大值)

标签: winforms text label pie-chart truncated


【解决方案1】:

@Yafim 我将答案移到此处,因为我需要发布一些图片。你的意思是这正在发生?

如果是这种情况,并且您不希望完整的图例文本出现在甜甜圈的各个部分内(因为它们与甜甜圈本身重叠),您只能通过设置 Series->Label 来显示值->IsValueShownAsLabel 属性为 true 并得到类似的东西:

不确定这是否是您的问题,(您已经在照片中展示了您所知道的)...

【讨论】:

  • 谢谢。这实际上不是我的问题,我解释得很糟糕。发生的事情是我将工具箱中的标签对象放置到我的表单上,与饼图完全分开,但我将它定位在甜甜圈的中心,但是由于图表区域根据图例长度等调整大小,标签是重叠饼图。我想知道是否有一种方法可以通过一些定位属性使他们的中心对中心的关系更加永久......?谢谢
  • @Yafim 可以在这里找到解决方案:link
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 2018-04-20
相关资源
最近更新 更多