我有一个.NET图表,我在运行时填充
该图表显示在报告中.对于我的报告中的每个乐队,我清除所有系列并使用代码将其添加回来
Series s = new Series();
s.Font = new Font("Verdana", 8f);
int i = 0;
foreach (var month in line.Months)
{
DataPoint p = new DataPoint();
p.XValue = i;
p.YValues = new Double[] { month.LineValue ?? 0 };
s.Points.Add(p);
i++;
}
Run Code Online (Sandbox Code Playgroud)
当我第二次填充图表时,Y轴最大值保持在2000,即没有重新计算
我该如何强制重新计算?
我在Y轴上启用了ScaleBreakStyle
如果我尝试在Y轴上将IsLogarithmic设置为true,我得到X而不是图表
我使用Visual Studio 2010与System.Windows.forms.DataVisualization.Charting.Chart
保罗
我正在使用MS asp.net图表控件.我正在使用雷达图来绘制一些值,但由于某种原因,X轴的线条在中间并不真正相遇.
我设置了LineWidth = 1,但线仍然需要2像素,一些标记完全关闭,或者可能是完全关闭的线.也许我的文字有点偏,所以请看图片,希望你能理解我的问题.=)

生成图表的代码:
// Populate series data
Chart chart1 = new Chart();
chart1.ChartAreas.Add(new ChartArea("ChartArea1"));
chart1.Height = new Unit(380);
chart1.Width = new Unit(880);
//chart1.AntiAliasing = AntiAliasingStyles.Graphics;
//chart1.BackColor = Color.Transparent;
chart1.Customize += new EventHandler(Chart_Customize);
// Show as 3D
chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;
chart1.ChartAreas["ChartArea1"].AxisY.IntervalAutoMode
= IntervalAutoMode.FixedCount;
chart1.ChartAreas["ChartArea1"].AxisY.Interval = 10;
chart1.ChartAreas["ChartArea1"].AxisY.Maximum = 100;
chart1.ChartAreas["ChartArea1"].AxisY.IsReversed = true;
chart1.ChartAreas[0].AxisY.LineWidth = 1;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gray;
chart1.ChartAreas[0].AxisY.LineColor = Color.Gray;
chart1.ChartAreas[0].AxisY.MajorTickMark.Enabled = false;
List<string> names = new List<string>();
int namecounter = 1;
foreach (var p …Run Code Online (Sandbox Code Playgroud) 我想以编程方式打开/关闭图表控件上的标签.
该图表是按人数加载统计信息,我希望能够通过删除标签来匿名化.
这可以通过Chart Control完成,还是需要在底层数据表中完成?
我玩过Google Charts和其他一些java脚本图表包,但我还没有达到预期的效果.我想知道是否有人能够指向我的JavaScript绘图包,开源或商业,他们知道能够创建我们目前使用.Net图表控件创建的以下类型的图表.
注意负轴......


这里我们有多个X,Y轴.

在这里,我们有时间轴,放大...
我们正在寻找一个JavaScript图表库,可以处理这种复杂性的图表,同时配置和使用仍然有点简单......任何想法?谢谢!
我的图表预测了未来30年的价值.第一个值必须显示为第1年.然后第5年,第10年......直到30年.但内部第一年为0并且保持不变:

我尝试添加自定义标签,但它只打破其他标签:

如果我将它添加到AxisX2而不是AxisX,它什么都不做.以下是制作图表并添加行的代码:
public static Chart MakeChart(string title)
{
var chart = new Chart();
var area = new ChartArea("GrafiekGebied");
foreach (var axis in area.Axes)
{
axis.TitleForeColor = defaultColor;
axis.LineColor = defaultColor;
axis.InterlacedColor = defaultColor;
axis.LabelStyle.Font = letterType;
axis.LabelAutoFitMinFontSize = (int)letterType.Size;
axis.LabelAutoFitMaxFontSize = (int)letterType.Size;
axis.MajorGrid.LineColor = defaultColor;
axis.MajorTickMark.Enabled = false;
axis.MinorGrid.LineColor = defaultColor;
axis.MinorTickMark.LineColor = defaultColor;
}
CustomLabel firstXlabel = new CustomLabel();
firstXlabel.FromPosition = 0;
firstXlabel.ToPosition = 0;
firstXlabel.RowIndex = 0; // Also tried 1
firstXlabel.Text = "1jr";
area.AxisY.LineWidth = 0; …Run Code Online (Sandbox Code Playgroud) 这是一个用于创建3个图表的代码.我想将图例停靠在每个图表的区域内,但我在底部传说.我使用了DockedToChartArea,但没用.我想在每个图表区域内获得一个传奇.
for (int t = 0; t < ARF.Rows.Count; t += 1)
{
dv.RowFilter = FilterString1.ToString();
Chart1.Series.Add("Series1" + t.ToString());
Chart1.ChartAreas.Add("ChartArea1" + t.ToString());
Chart1.Series[t].ChartArea = "ChartArea1" + t.ToString();
if (dtReportDetails.Rows[0].ItemArray[7].ToString() == "Bar")
{
Chart1.Series[t].ChartType = SeriesChartType.Column;
Chart1.Series[t].BorderWidth = 2;
Chart1.Series[t].ToolTip = "(#VALX,#VALY)";
Chart1.ChartAreas["ChartArea1" + t.ToString()].AxisX.Title = "Learning Domains";
Chart1.ChartAreas["ChartArea1" + t.ToString()].AxisY.Title = "Covered";
Chart1.Legends.Add("Legend1" + t.ToString());
Chart1.Legends["Legend1" + t.ToString()].Enabled = false;
// Chart1.Legends["Legend1" + t.ToString()].Docking = Docking.Bottom;
Chart1.Legends["Legend1" + t.ToString()].Alignment = System.Drawing.StringAlignment.Center;
Chart1.Legends["Legend1" + t.ToString()].DockedToChartArea = "ChartArea1" + t.ToString();
// Chart1.Legends["Legend1" …Run Code Online (Sandbox Code Playgroud) 使用ASP.Net图表控件,这是一个子集的的登打士图表控件,
如何制作如下图表:

而不是这个:

编辑:自从提出这个问题以来,我已经取得了一些进展.改进Dundas和MSChart中默认图形的样式元素是:
我正在使用ASP.NET Charting Library并且我已经生成了一个饼图,但我在配置它以生成带有半透明切片的饼图时遇到问题.如果你看图像,你会看到我在说什么.在4个饼图中,顶部2和左下图表具有我正在讨论的饼图切片透明度.
图表控制图像http://www.scottgu.com/blogposts/chart/step2.png
我会调整图表的哪些设置来渲染具有一定透明度百分比的切片?
谢谢!
我想从数据表中获得图表控件.
表格如下:
alt text http://www.freeimagehosting.net/uploads/5d02ce1558.png
我想要的图表看起来像这样:
'''
''''
''''' '' '
''''' '' '
ECCTMP ECCTMP ECCTMP
Monday Tuesday Wednesday
Run Code Online (Sandbox Code Playgroud)
希望这对每天按类型(电子邮件,电话)分组是有意义的.
我现在才确定如何数据绑定?
比利
我正在尝试使用ASP.Net Chart控件创建一个图表,该控件在X轴上具有特定的数值,在Y轴上具有它们的频率计数.这是我想要替换的图表框架的一个例子:

在上面的示例中,X轴标签与列对齐.但是,使用ASP.Net Chart控件,而不是标记代表这些特定值的列(例如1492,2984),控件是以圆形间隔标记而不是与列排列(例如2000,4000),因为您可以见下文:

我发现其他类似的帖子建议将其设置ChartArea.AxisX.Interval为1.我试过了,但是X轴标签因某种原因消失了,如下所示:

这是我用来创建和填充图表的代码(减去设置各种颜色属性):
DataTable newDt = GetChartDataTable();
chart.DataSource = newDt;
chart.Series.Add("Series1");
chart.Series["Series1"].YValueMembers = "Frequency";
chart.Series["Series1"].XValueMember = "RoundedValue";
chart.ChartAreas["ChartArea1"].AxisX.Title = "kbps";
chart.ChartAreas["ChartArea1"].AxisX.TitleFont = new Font("Sans Serif", 10, FontStyle.Bold);
chart.ChartAreas["ChartArea1"].AxisY.Title = "Frequency";
chart.ChartAreas["ChartArea1"].AxisY.TitleFont = new Font("Sans Serif", 10, FontStyle.Bold);
chart.Titles["Title1"].Text = chartTitle;
chart.Titles["Title1"].Font = new Font("Sans Serif", 10, FontStyle.Bold);
chart.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column;
chart.Series["Series1"]["ShowMarkerLines"] = "True";
chart.DataBind();
Run Code Online (Sandbox Code Playgroud) asp.net-charts ×10
charts ×7
c# ×6
asp.net ×5
.net ×1
aspose ×1
c#-4.0 ×1
dundas ×1
javascript ×1
ms-word ×1
radar-chart ×1
vb.net ×1