मैं Excel 2007 में अगल-बगल पाई चार्ट कैसे बना सकता हूँ?


2

मेरे पास डेटा की दो सेटों के साथ एक धुरी तालिका है:

           2011    2012
Slice A      45      20
Slice B      33      28
Slice C      22       2

मैं दो पाई चार्ट को साथ-साथ प्रस्तुत करने की कोशिश कर रहा हूं, एक 2011 के डेटा के साथ और दूसरा 2012 के डेटा के साथ। मैं प्रत्येक पाई चार्ट के सापेक्ष आकार को योगों को प्रतिबिंबित करना चाहता हूं, अर्थात 2011 के डेटा के साथ पाई चार्ट (कुल 100) को 2012 के डेटा (कुल 50) के साथ पाई चार्ट के आकार से दोगुना होना चाहिए।

'पाई का पाई' चार्ट प्रकार मैं जो खोज रहा हूं उसके सबसे करीब लगता है लेकिन यह एक स्लाइस से डेटा को तोड़ता है और इसे दूसरे आरेख में प्रस्तुत करता है इसलिए यह यहां उपयुक्त नहीं है।


आप Excel में ग्राफ़ ऑब्जेक्ट्स का आकार बदलने के लिए VBA का उपयोग कर सकते हैं (यह उनके आकार को डेटा के योग का एक कार्य बनाना आसान होगा)।
Breakthrough

एंडी पोप के पाई Resizer बाहर की कोशिश करो vba कोड , वह पूर्व-स्थापित कोड और उदाहरण डेटा के साथ एक डाउनलोड करने योग्य एक्सेल फ़ाइल प्रदान करता है।
chuff

जवाबों:



1

कृपया निम्नलिखित मैक्रो आज़माएँ:

यह मेरे लिए अच्छी तरह से काम करता है, माफ करना मेरे पास फुलर जवाब देने का समय नहीं है

Sub graph()
'
' Pie chart Resizing Macro by David Birch
' will resize and centre a chart relative to a maximum value entered below. This maximum MUST be changed per set of graphs
' USAGE :
' 1) simply set the "Max Tota Over All Graphs" variable
' 2) select a graph
' 3) run the macro
'
' Keyboard Shortcut: Ctrl+g
'

' CONFIG
    MaxTotalOverAllGraphs = 20000 ' THIS VALUE MUST BE CHANGED for each use of this macro (each set of charts)
    MaxChartDiameter = 200 ' This value may also be changed


' start of macro

    XPieChartMargin = (ActiveChart.ChartArea.Width - MaxChartDiameter) * 0.5
    YPieChartMargin = (ActiveChart.ChartArea.Height - MaxChartDiameter) * 0.5

    ThisGraphTotal = Application.WorksheetFunction.Sum(ActiveChart.SeriesCollection(1).Values)

 '   MsgBox ThisGraphTotal

    MaxChartArea = 3.14159 * (MaxChartDiameter / 2#) * (MaxChartDiameter / 2#)
    MaxChartAreaPerUnit = MaxChartArea / MaxTotalOverAllGraphs

    ThisGraphArea = ThisGraphTotal * MaxChartAreaPerUnit
    ThisGraphDiameter = 2# * ((ThisGraphArea / 3.14159) ^ (0.5))

'MsgBox ThisGraphDiameter

    ActiveChart.PlotArea.Width = ThisGraphDiameter
    ActiveChart.PlotArea.Height = ThisGraphDiameter
    ActiveChart.PlotArea.Left = XPieChartMargin + (0.5 * (MaxChartDiameter - ThisGraphDiameter))
    ActiveChart.PlotArea.Top = YPieChartMargin + (0.5 * (MaxChartDiameter - ThisGraphDiameter))


End Sub

0

यदि आपके समय के लिए दबाया जाता है, तो मैं इसके बजाय डोनट या रडार आरेखों को देखूंगा, हालांकि यह लिंक एक ही सवाल पूछता है ... http://www.andypope.info/charts/pies.htm - बस एक मंच से मेरा नहीं? शुभकामनाएं डेव


0

आप प्लॉट क्षेत्र का चयन करके और कोने को सूट करके ड्रैग करके पाई का आकार बदल सकते हैं:

SU321317 example

यदि 'आंख से' पर्याप्त नहीं है, तो नीचे एक पाई का व्यास मापें:

  1. स्तंभ सीमा पर प्रत्येक पाई का एक व्यास रखें (जैसे 2011 का बाईं ओर एफ / जी है)।
  2. पाई के दाईं ओर जी / एच सीमा खींचें (यहां 219 पिक्सेल) लेकिन मूल स्थिति पर लौटें।

फिर दूसरे पाई (यहां 155 पिक्सल) के आवश्यक व्यास की गणना करें और आवश्यकता के अनुसार प्लॉट एरिया की सीमा को संरेखित करें (कुछ परीक्षण और त्रुटि के साथ)।

मैक्रो संस्करण जोड़ने के लिए संपादित:

Sub Macro1()
Range("C2:C4").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C2").Select
ActiveCell.FormulaR1C1 = "=RC[1]*SUM(R2C[-1]:R4C[-1])/SUM(R2C[1]:R[2]C[1])"
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C4"), Type:=xlFillDefault
Columns("B:B").Select
Selection.EntireColumn.Hidden = True
Range("A1:C4").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Sheet1 (2)'!$A$1:$C$4")
ActiveChart.ChartType = xlPie
Columns("A:C").Select
Selection.EntireColumn.Hidden = False
Range("A1:B4").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Sheet1 (2)'!$A$1:$B$4")
ActiveChart.ChartType = xlPie
End Sub

अपने उत्तर को एक साथ रखने के प्रयास के लिए धन्यवाद। मैं वास्तव में एक प्रोग्रामेटिक समाधान की तलाश में हूं। ऐसा लगता है कि यह नहीं किया जा सकता है।
Andrew Doran
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.