我想用空系列绘制我的图形似乎很奇怪.
但这是交易.我的图表是在两个日期之间绘制数据库中的数据,这些数据提供给存储过程.
结果如下:
2011-08-05 - 37,5
2011-08-11 - 20,1
2011-08-16 - 8,0
2011-08-17 - 15,7
用日期绘制x轴.并且用数字(小数)绘制y轴.
绘制它们没有问题.
但我希望这样:
2011-08-01 - 0
2011-08-02 - 0
^
etc.
v
2011-08-05 - 37,5
2011-08-06 - 20,1
2011-08-07 - 8,0
2011-08-08 - 15,7
^
etc.
v
2011-08-30 - 0
2011-08-31 - 0
任何人都可以给我一个提示吗?
我的代码看起来像这样:
<asp:Chart ID="Chart_NormalRegistrations" runat="server" Height="650px" Width="975px"
DataSourceID="SqlDataSource1" Palette="Bright">
<Series>
<asp:Series Name="Series1" XValueMember="Dato" XValueType="DateTime" ChartArea=""
YValueMembers="Total" YValueType="Double" YValuesPerPoint="1">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY Title="Tid" Interval="5">
</AxisY>
<AxisX Title="Dage" Interval="1">
</AxisX>
<Area3DStyle Enable3D="True" />
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString=" //connectionstring"
SelectCommand="stored_proc_regs" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="2011-08-01" Name="from" Type="DateTime" />
<asp:Parameter DefaultValue="2011-09-01" Name="to" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
最佳答案
<AxisX Title="Dage" Interval="1">
在此标记中,您可以为轴设置显式的Minimum和Maximum,图表将遵循它们.但是弄清楚要设置什么可能有点棘手.
假设你的存储过程返回DateTimes(或等效的sql),图表将有效地使用OLE Automation conversion将这些转换为双打,这足够接近1899年12月30日午夜之后的天数.如果你(看起来像)只是使用标记,你必须手动计算你想要的日期并提供这些数字,因为我不认为图表标记会为你转换.
2011-08-01的OADate是40756,添加一天只需加1,所以第31个是40786.尝试一下,看看它是否有效 – 如果有,你可以考虑是否要让它更容易通过开始在代码隐藏中做一些工作来指定它.