2016-05-04 11 views
10

वहाँ पहले बार चार्ट और y- अक्ष के बीच मार्जिन अनुकूलित करने के लिए कोई तरीका है?छोटे मार्जिन

मुझे पता है गलत पर IsMarginVisible सेट करने के लिए संभावना है कि कर रहा हूँ:

.AxisX.IsMarginVisible = False 

लेकिन मैं पूरी तरह से मार्जिन दूर करने के लिए नहीं करना चाहते हैं, मैं सिर्फ यह थोड़ा समायोजित करने के लिए करना चाहते हैं। विचित्रता में, मैं "टिक" और लेबल टेक्स्ट के बीच मार्जिन समायोजित करना चाहता हूं। यहाँ एक उदाहरण है:

यहाँ कैसे चार्ट अभी

Old

लग रहा है और है कि यह कैसे (सामने और "टिक" के बाद स्पेस) New

की तरह दिखना चाहिए

आप इसका अंदाज़ा लगा इस समस्या को हल करने के लिए है?

उत्तर

2

दुर्भाग्य से, ऐसा लगता है कि है कि वहाँ जिस तरह से मैं एक अच्छा लगा है | में कोई मार्जिन संपत्ति है । लेकिन मैंने आज इस लेख पर ठोकर खाई: http://support2.dundas.com/Default.aspx?article=869

मेरा कामकाज मेजरटिकमार्क को उन टिकों के आकार में सेट करना था जो मैं चाहता था + मार्जिन। फिर मैंने रंग को पारदर्शी पर सेट किया।

Chart1.ChartAreas(0).AxisY.MajorTickMark.Size = size 
Chart1.ChartAreas(0).AxisY.MajorTickMark.LineColor = Color.FromArgb(0, 0, 0, 0) 

उसके बाद, मैं सिर्फ एक HorizontalLineAnnotation आकार और जगह मैं चाहता था में हर पंक्ति के लिए जोड़ा गया।

Dim minValue As Double = Chart1.ChartAreas("ChartArea").AxisY.Minimum 
Dim maxValue As Double = Chart1.ChartAreas("ChartArea").AxisY.Maximum 
Dim iteration As Integer = CInt((Math.Abs(minValue) + Math.Abs(maxValue))/interval) 

For i As Integer = 0 To iteration 
    Dim line As New HorizontalLineAnnotation() 
    With line 
     .AxisX = Chart1.ChartAreas("ChartArea").AxisX 
     .AxisY = Chart1.ChartAreas("ChartArea").AxisY 
     .AnchorX = 0 
     .Y = i * interval - Math.Abs(minValue) 
     .AnchorOffsetX = offset 
     .Height = 0 
     .LineWidth = 1 
     .Width = (5/Chart1.Width.Value * 1240) 
     .LineColor = Color.FromArgb(128, 128, 128) 
     End With 
    Chart1.Annotations.Add(line) 
Next 

इस कामकाज के साथ, मुझे वह परिणाम मिला जो मैं चाहता था।

0
With Chart1.Series(0) 

     .BackGradientStyle = GradientStyle.TopBottom 
     .Color = Color.Magenta 
     .BackSecondaryColor = Color.Purple 
     .IsValueShownAsLabel = True 
     .Points.DataBind(dtTest.DefaultView, "Month", "Bought", Nothing) 
     *****The pixel point width******.CustomProperties = "DrawingStyle = Cylinder ,PixelPointWidth = 26" 
    End With 

क्या आप यह देख रहे हैं?

+0

अपने जवाब के लिए धन्यवाद। दुर्भाग्यवश, मैं पहले से ही कस्टमप्रोपर्टी "प्वाइंटविड्थ" का उपयोग कर रहा हूं जो मुझे एकल सलाखों की चौड़ाई बदलने की अनुमति देता है। लेकिन जैसा कि मैं अंतरिक्ष को कस्टमाइज़ करने की तलाश में हूं, यह उत्तर मुझे बहुत मदद नहीं करता है। – theyanu

0

इस प्रयास करें:।

chart1.ChartAreas ("डिफ़ॉल्ट") AxisY.ScaleBreakStyle.Spacing = 2

0

क्यों मैन्युअल रूप से प्रत्येक Y मान में कुछ "खाली रिक्त स्थान" नहीं जोड़ते हैं, उन्हें "50,000" की तरह एक स्ट्रिंग में कनवर्ट करने?

+0

यह टिक के सामने रिक्त स्थान के साथ समस्या का समाधान होगा, लेकिन यह बाद अंतरिक्ष के साथ नहीं। लेकिन वैसे भी धन्यवाद। – theyanu

संबंधित मुद्दे