我正在使用MS图表,并且不知何故我找不出一种方法在y轴顶部绘制点。 正如您在下图中看到的那样,x = 0处的点(标签1998)低于Y轴。 有没有人认识到这个问题?它与预涂和后色调事件的顺序有关吗?质谱图坐标轴绘制低谷数据点
回答
在Chart
所有DataPoints
去在的GridLines
但下的Axes
和TickMarks
。
画他们在的Axes
,以及你需要主人在Paint
事件之一绘制他们。
这很简单,如果你的ChartType
是Points
类型,Spline
或Line
和您的Circle
或Rectangle
MarkerType
。
对于大多数其他类型,如Column
或Bar
等,这是一个困难得多。
这里是Points
一个简单的例子;选择一个你喜欢的尺寸更好..!
private void chart1_PostPaint(object sender, ChartPaintEventArgs e)
{
if (chart1.Series.Count == 0) return;
Axis AX = chart1.ChartAreas[0].AxisX;
Axis AY = chart1.ChartAreas[0].AxisY;
chart1.ApplyPaletteColors();
foreach (Series s in chart1.Series)
foreach (DataPoint dp in s.Points)
{
float x = (float)AX.ValueToPixelPosition(dp.XValue);
float y = (float)AY.ValueToPixelPosition(dp.YValues[0]);
float w2 = 3.6f;
using (SolidBrush brush = new SolidBrush(Color.YellowGreen))
e.ChartGraphics.Graphics.FillEllipse(brush,
x - w2, y - w2, w2 * 2f, w2 * 2f);
}
}
我已经压抑了一些点的自定义绘制。
我已经这样做了,但是现在我遇到了问题,直到在y轴的左侧,您看到自动绘制的点,在y轴的右侧我自己定制的绘制圆.. –
This sohuldn't be。请将您的代码与上面添加的示例进行比较! – TaW
chartAreaRect已经过计算,所以graphics.Clip被设置为这些边界。但是在你的图像中,坐标轴上的点也被画下了? –
- 1. 质谱图控制两个Y轴
- 2. 在坐标轴上绘制标记
- 3. 用openpyxl绘制折线图 - 坐标轴/绘图问题
- 4. 在双对数坐标轴图中绘制幂函数线R
- 5. R:标绘坐标轴上的图
- 6. 质谱图控制不爆炸饼点
- 7. matplotlib绘图只填充数据点,没有边框,标签,坐标轴,
- 8. 如何绘制坐标点到图像
- 9. Microsoft Chart绘制点坐标
- 10. matlabs只能在一边绘制每个绘图的坐标轴
- 11. 用多个坐标轴绘制
- 12. ios图表3 - 绘制每个数据点的X轴标签
- 13. D3.js:仅在单个X轴坐标上绘制数据
- 14. 在三维坐标轴上绘制3列数据
- 15. 使用GUI绘制多轴坐标数据?
- 16. MATLAB:向坐标轴添加绘图
- 17. 绘图覆盖坐标轴属性'XTick'
- 18. r格式化绘图坐标轴
- 19. 蟒蛇坐标轴绘图 - matplotlib
- 20. android achartengine:即使没有绘图数据,也显示坐标轴
- 21. R绘图坐标轴不符合,数据超出它们
- 22. 如何绘制带定制坐标轴的图形
- 23. 坐标轴绘制在核心图中的图下
- 24. 绘制图像坐标
- 25. 坐标绘制大厅图
- 26. 绘制光谱图
- 27. Matlab,绘制坐标轴中特定区域的点的类别
- 28. 质谱图控制:在图表区域绘图和贴标线系列
- 29. 使用质谱图以编程方式绘制点图表时出现错误
- 30. 对齐坐标原点的坐标轴
这是正常的行为。你真的有任何油漆事件吗? – TaW
是的,在OnPostPaint中,我们绘制了自己的Beziercurves –
那么,绘制点并不那么难;你可以使用相同的AxisX.ValueToPixelPosition(dp.XValue); etc功能.. – TaW