MS 图表控制:两个 X 轴,一个用于数小时,另一个用于数天(或混合两者)
是否可以在 X 轴上显示小时 (HH:MM)
另一个(或相同的)显示天数 (YYYY-MM-DD)
在不同的时间间隔,所以它看起来像
| | | | |
09:00 ; 10:00 11:00 &n公共服务提供商; 12:00 sp ;01:00
|
2010/04/20
或者理想情况下:
| | | | |
09:00 10:00 11:00 2010/04/20公共服务提供商; 01:00
离题建议
我使用 MS Chart Control 的次数越多,我就越后悔从 ZedGraph 切换的决定。
我真的很生气和沮丧,我在这些毫无意义的细节上浪费了很长时间,并通过非常丑陋的解决方法来规避(比如创建许多重复的“幽灵”图表来“处理”不同比例的系列,-到底是什么!!?-,对齐数据手动添加空点,因为默认代码用例非常不灵活)。乍一看似乎非常奇特,但从您想要调整并做严肃的事情而不是显示超基本的饼图或条形直方图的那一刻起,您就进入了地狱世界。所以我基本上建议不要使用它,除非你已经坚持使用它(但重新考虑转向不那么不稳定和耗时的东西永远不会太晚)
编辑:
我可以按照此处的建议使用“关键字”。虽然看起来很时髦又乏味......
此外,这违反了逻辑和表示之间的分离
(这绝对不应该发生!设计不佳的迹象...)
有关此类恼人的类似(无知)问题的另一个示例,请参阅这篇文章
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用单个 X 轴,并且可以自定义“12:00”标签来显示“日期”。
请参阅命名空间 System.Windows.Forms.DataVisualization.Charting 中的 CustomLabel 和 CustomLabelsCollection。您可以使用免费软件 ILSpy 查看 MSChart dll 内部的内容。
CustomLabel 有几个构造函数,我使用了这个:
基本上,它是这样的:
希望这会有所帮助。
You can use a single X axis, and you can customize the "12:00" labels to display the "date".
See CustomLabel and CustomLabelsCollection in namespace System.Windows.Forms.DataVisualization.Charting. You could use the freeware ILSpy to see what's inside MSChart dll.
There are several constructors for CustomLabel, I used this one:
Basically, it goes something like this:
Hope this helps.